Cakephp 3默认模型未在控制器中加载 [英] Cakephp 3 Default Model not loaded in controller

查看:51
本文介绍了Cakephp 3默认模型未在控制器中加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个控制器名称 CodeBridgeController 和一个模型表名称 CodeBridgeTable .当我在调用CodeBridge表时,如下所示:

I have a controller name CodeBridgeController and have a model table name CodeBridgeTable. When I call CodeBridge table in action like following:

$this->CodeBridge->find('all')->toArray();

此生成错误:在非对象上调用成员函数find()文件D:\ php \ htdocs \ cake3 \ erp \ src \ Controller \ CodeBridgeController.php行:25 我认为这很愚蠢,但是我在代码中找不到任何错误,为什么在这种情况下不加载表.当我这样称呼它时.

This generate Error: Call to a member function find() on a non-object File D:\php\htdocs\cake3\erp\src\Controller\CodeBridgeController.php Line: 25 I think this is silly matter but i could not find any wrong in the code why table is not loaded in this context. When i call this way it works.

$ codeBridgeTable = TableRegistry :: get('CodeBridge');$ results = $ codeBridgeTable-> find('all')->水合物(false)-> toArray();

可能导致问题的原因,需要专家的建议.

What may create the problem, expert suggestion needed.

推荐答案

最后,我找到了问题所在.在控制器操作中,我生成如下所示的URL: Router :: url(array('controller'=>'codebridge','action'=>'edit')); 会生成url /cake3/erp/codebridge/edit

Finally, I found where the problem lies. In controller action, I generating a url like following: Router::url(array('controller' =>'codebridge','action'=>'edit')); which generate url /cake3/erp/codebridge/edit

在驼峰式情况下更改控制器名称后 Router :: url(array('controller'=>'CodeBridge','action'=>'edit')); '/cake3/erp/code-bridge/edit`

After changing the controller name in camel case Router::url(array('controller' =>'CodeBridge','action'=>'edit')); which generate url '/cake3/erp/code-bridge/edit`

这解决了问题

这篇关于Cakephp 3默认模型未在控制器中加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆