如何在cakephp中从另一个控制器在一个模型中保存数据?

如何在cakephp中从另一个控制器在一个模型中保存数据?,cakephp,Cakephp,我有两个控制器名为ProductsController和Categories controller,并且有三个模型 public function beforeFilter(){ $this->loadModel('Category'); } 在ProductsController中使用时 $data = $this->Category->find('all', array('conditions'=>array('product_id'=&

我有两个控制器名为ProductsController和Categories controller,并且有三个模型

public function beforeFilter(){


        $this->loadModel('Category');
    }
在ProductsController中使用时

$data = $this->Category->find('all', array('conditions'=>array('product_id'=>$id)));
它将返回值,以便我可以从类别模型中检索数据

$this->Category->save($this->request->data);
它不工作。当我调试以查看它返回的内容时,我得到的调试结果如下

\app\controller\ProductsController.php (line 74)
false

如何解决此问题?有什么帮助吗?

在保存之前,请尝试在
$this->request->data
中打印数据,并打印sql日志 像

echo”“;
打印($this->request->data);
$this->Category->save($this->request->data);
$log=$this->Category->getDataSource()->getLog(false,false);
回声“;打印(日志);出口

并确保在core.php中将debug设置为2

您使用的是哪个cakephp版本?至少没有看到产品控制器的代码,你试图保存的数据不可能回答这个问题。这本应该是一个问题comment@AD7six是的,您是对的,但希望以适当的格式添加答案,以便对任何新用户都有帮助,这就是为什么,仍然为此感到抱歉这是一个好建议(尽管您可以使用
debug();
来避免编写预打印),但它只是:建议。这不是答案,除非作者提供更多信息/代码,否则不能成为答案。@AD7six yeah将牢记在心,谢谢您的建议
echo "<pre>";
print_r($this->request->data);
$this->Category->save($this->request->data);
$log=$this->Category->getDataSource()->getLog(false, false);
echo "<pre>";print_r($log);exit;