我正在创建一个需要记录当前模型名称的行为。如何从CakePHP的控制器中获取当前的模型名称?CakePHP:获取控制器中的当前模型名称
-2
A
回答
2
当您想从行为中获得控制器主模型名称时,您的体系结构有缺陷。这违反了MVC模式。你的应用应该有胖的模型和瘦的控制器。
您的行为已经有模型实例,因为它需要传递给行为。您可以从模型对象获取名称:
// Cake 2.x
$Model->name
// Cake 3.x
$Table->name()
或它的别名
// Cake 2.x
$Model->alias
// Cake 3.x
$Table->alias()
+0
但是,标题问题在试图扩展控制器时很有意义,而谷歌的结果很可能会落在这里。要获取控制器中的当前模型名称,请使用'$ this-> modelClass'。它是CakePHP 2.x中类Controller的一个属性,也是CakePHP 3.x中Cake \ Datasource \ ModelAwareTrait的一个属性。 – jonathanbruder
0
前面的例子不工作,但它是我的工作:
// Cake 3.x
$object->repository()->alias()
相关问题
- 1. CakePHP:获取模型中的当前控制器名称
- 2. 在MVC3中,如何获取当前的控制器名称?
- 3. 获取AngularJS中的当前控制器名称
- 4. ASP.Net WebAPI从MediaTypeFormatter中获取当前的控制器名称
- 5. 在Ramaze中获取当前控制器和操作名称
- 6. 如何获取当前控制器的名称和方法?
- 7. 获取控制器名称
- 8. asp mvc 4.在控制器中获取当前模型
- 9. 获取当前视图控制器名称在父视图控制器
- 10. 如何在cakephp 3.x模型中获得当前控制器的动作
- 11. 获取当前模板名称?
- 12. 获取当前模块名称
- 13. 在Bootstrap中获取控制器名称
- 14. Cakephp插件模型名称前缀
- 15. 在导轨上抓取模型中的控制器名称
- 16. 控制器名称的型号名称
- 17. 获取当前MembershipProvider名称
- 18. CakePHP的路线修改控制器名称/读取控制器命名
- 19. 获取控制器的名称
- 20. 在CakePHP的路由器文件中获取控制器名称和SQL查询?
- 21. ASP.NET MVC - 在帮手中获取当前控制器和操作名称
- 22. ASP.NET MVC - 在视图或控制器中获取当前区域名称
- 23. 惨惨的load_and_authorize_resource当资源名称是从模型/控制器名称不同
- 24. Rails 3,从模型中获取所有控制器名称的列表?
- 25. 在Laravel控制器中获取当前登录用户名
- 26. CakePHP:在控制器中加载模型
- 27. 从$ scope获取控制器名称
- 28. 从Module.php获取控制器名称
- 29. cakePHP从每个模型和控制器获取变量
- 30. CakePHP模型回调获取参数传递从控制器
你这是什么意思是“当前”型号名称?为什么你提到控制器,如果它是你创建的模型行为? –