在API中,调用$ this-> model将返回model'sname但它不起作用。
http://api13.cakephp.org/class/view
api cakephp是假的?甚至$ view-> modelId也不行。
答案 0 :(得分:12)
在控制器中:
$this->modelClass
答案 1 :(得分:8)
试试这个
Inflector::classify( $this->params['controller']);
这应该将您的控制器名称更改为型号名称。当然,您可以从视图级别进行操作。
答案 2 :(得分:3)
是的,你可以,你需要告诉你的模特告诉它的名字。所以在你的模型中写一个函数,如:
function myname(){
return $this->name;
}
现在您的控制器可以向您的模型询问他们的名字。
答案 3 :(得分:2)
使用Inflectors获得您想要的结果:
答案 4 :(得分:0)
你做不到。那是因为视图的父级是控制器(你也无法访问),控制器可以有多个模型。
如果您尝试在View中访问Model的名称,很可能是您做错了或者您还没有理解MVC设计模式。
我想不出一个模型名称与视图相关的案例。我坚持认为,你做错了什么。
答案 5 :(得分:0)
试试这个:
$view =& ClassRegistry::getObject('view');
$models = $view->params['models'];
答案 6 :(得分:-1)
如果您遵循CakePHP约定和规则,模型名称与控制器名称相同,但单数形式,控制器名称应为复数,因此要在View中获取控制器名称,只需添加以下内容:
<?php
$controller = $this->name
,视图中的模型名称为:
$model = trim($controller , "s");
这是在视图中获取模型名称的唯一方法