数组到字符串的转换 [CORE\Cake\Model\Datasource\DboSource.php,第 2094 行]

Array to string conversion [CORE\Cake\Model\Datasource\DboSource.php, line 2094]

我有一个评论和评级页面。查看产品后,客户可以给出评论和评级。 我的 controller/review.ctp 代码是这样的:

 public function review($prod_id = NULL)
{
    if($this->request->is('post')) {
        $this->Product->updateAll(array(
            'Product.rating' => "'".$this->request->data['Product']['rating']."'",
            'Product.review' => "'".$this->request->data['Product']['review']."'",
            array('conditions'=>array(
                'prod_id' => $prod_id))
        ));
        $this->Session->setFlash("Thanks for your feedback !!!");
    }
}

但是在执行上面的代码时我得到:

Notice (8): Array to string conversion    [CORE\Cake\Model\Datasource\DboSource.php, line 2094]

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Array' in 'field list'

SQL Query: UPDATE `cakephp`.`products` AS `Product` SET `Product`.`rating` = '4', `Product`.`review` = 'abcd', `Product`.`id` = Array WHERE 1 = 1

我不明白是什么问题。 任何帮助都感激不尽。 感谢期待

您输入的查询不正确,试试这个:-

$this->Product->updateAll(array('Product.rating' => "'".$this->request->data['Product']['rating']."'",'Product.review' => "'".$this->request->data['Product']['review']."'"),array('conditions'=>array('Pr‌​oduct.id' => $prod_id)));

注意:- 第一个数组的 ) 放错了地方。它必须在 condition 数组之前关闭。

condition 数组中它将是 Product.id 而不是 prod_id.