CakePHP:在控制器中获取当前的型号名称

时间:2013-08-30 09:26:28

标签: php cakephp model

我正在创建一个需要记录当前模型名称的行为。如何从CakePHP中的控制器中获取当前模型名称?

4 个答案:

答案 0 :(得分:2)

当您想从行为中获取控制器主要模型名称时,您的体系结构存在缺陷。这违反了MVC模式。你的应用程序应该有胖模型和瘦控制器。

您的行为已经具有模型实例,因为它需要传递给行为。您可以从模型对象中获取名称:

// Cake 2.x
$Model->name
// Cake 3.x
$Table->name()

或它的别名

// Cake 2.x
$Model->alias
// Cake 3.x
$Table->alias()

答案 1 :(得分:0)

早期的例子不起作用,但它对我有用:

// Cake 3.x    
$object->repository()->alias()

答案 2 :(得分:0)

从Cakephp 3开始,您就可以使用

$this->modelClass

答案 3 :(得分:0)

对于cake 3.4 +和4.x(编写本文时,CakePHP在4.2上),您可以使用以下代码:

// For table
$Table->getTable();

// For alias    
$Table->getAlias();
相关问题