模型中的函数在CakePhp 3中无法识别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型中的函数在CakePhp 3中无法识别相关的知识,希望对你有一定的参考价值。
我只是确定我是否犯了任何错误。我试图从不同的控制器(产品)访问模型(购物车)的功能。
我从论坛上了解到这一点,我认为这是正确的方法。但是我收到了这个错误
Unknown method addToCart
你能告诉我哪里弄错了吗?
ProductController的:
public function initialize(){
parent::initialize();
$table = $this->loadModel('Cart');// this works fine
}
public function addit() {
$table->addToCart();
}
模型:
class CartTable extends Table{
public function addToCart(){
echo "hello from model";
}
}
有什么我需要做的吗?我没有发现这有助于我。所以请明智的人帮助我。谢谢你:)
答案
您必须使用以下内容。
public function initialize(){
parent::initialize();
$this->loadModel('Cart');// this works fine
}
public function addit() {
$this->Cart->addToCart();
}
在cakephp 3中你也可以通过TableRegistery来模型化模型就这样使用它。
use CakeORMTableRegistry;
在使用之前把这一行放在控制器的使用部分
public function addit() {
$cart_table = TableRegistry::get('Cart');
$cart_table->addToCart();
}
另一答案
您需要在方法中加载模型,而不需要将其分配给var。
public function initialize(){
parent::initialize();
}
public function addit() {
$this->loadModel('Cart');
$this->Cart->addToCart();
}
这应该让你开始运行。
以上是关于模型中的函数在CakePhp 3中无法识别的主要内容,如果未能解决你的问题,请参考以下文章
使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量
Cakephp SaveAssociated 和 Save - 使用相同的模型验证代码