我只是确定我是否犯了任何错误。我试图从不同的控制器(产品)访问模型(购物车)的功能。
我从论坛上了解到这一点,我认为这是正确的方法。但是我收到了这个错误
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 Cake\ORM\TableRegistry;
在使用之前把这一行放在控制器的使用部分
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();
}
这应该让你开始运行。