CakePHP:无法找出错误"成功":false," message":

时间:2014-05-31 06:05:48

标签: php cakephp

我在这个网站上尝试了大量的研究来解决这些错误,但无法弄清楚我的问题,所以在这里发布。

首先出现错误信息: -

{"success":false,"message":"\u0630\u062e\u06cc\u0631\u0647 \u062f\u0686\u0627\u0631 \u062e\u0637\u0627 \u0634\u062f . \u0644\u0637\u0641\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0633\u0639\u06cc \u06a9\u0646\u06cc\u062f"}

调用视图的方法是

方法

public function checklist(){
        if($this->request->is('ajax')){
            parent::edit();
        }
        $this->set('tree',$this->Task->Attribute->getTree(array('Attribute.mode' => 'checkable')));
    }

此操作涉及的方法

方法

protected function _extraSave($task_id){
        $success = false;
        if('Check' == ifExist($this->Task->getFieldValue($task_id ,'type'))){
            if(ifExist($this->request->data ,'TaskAttribute')){
                $taskAttributeModel = $this->_getModel('TaskAttribute');
                foreach($this->request->data['TaskAttribute'] as $attribute){
                    if(0 !=  $attribute['attribute_id']){
                        $taskAttributeModel->id = false;
                        if(!$success = $taskAttributeModel->save(array($taskAttributeModel->alias=>array('task_id'=>$task_id ,'attribute_id'=> $attr['attribute_id'] ,'value'=>$attribute['value'])))){
                            break;
                        }
                     }
                }
            }
        }
return $success ; 
}

我用来获取数据的方法是

方法

public function getTree($branch_id =false){
        $data = array();
        $result =  $this->find('all',array(
            'fields' => array('Attribute.name', 'Attribute.id','Attribute.type','AttributeOptions.id','AttributeOptions.label', 'Item.category_id', 'Item.id','Item.model','Item.service','Category.id','Category.name'),
            'joins' =>  array(

                        array(
                            'table' => 'attributes',
                            'alias' => 'Attribute',
                            'type' => 'INNER',
                            'conditions' => 'TaskAttribute.attribute_id = Attribute.id',
                         ),
                         array( 
                            'table' => 'item_attributes',
                            'alias' => 'ItemAttribute',
                            'type' => 'INNER',
                            'conditions' => 'ItemAttribute.attribute_id = Attribute.id'
                        ),                              
                         array( 
                            'table' => 'items',
                            'alias' => 'Item',
                            'type' => 'INNER',
                            'conditions' => 'ItemAttribute.item_id = Item.id'
                        ),
                         array( 
                            'table' => 'taxonomies',
                            'alias' => 'Category',
                                'type' => 'LEFT',
                            'conditions' => 'Item.category_id = Category.id'
                            ),
                        array( 
                            'table' => 'attribute_options',
                            'alias' => 'AttributeOptions',
                            'type' => 'LEFT',
                            'conditions' => 'Attribute.id = AttributeOptions.attribute_id'
                            ) 

                ),
                'recursive'=>-1
            )
        );

期待专家解决方案..需要注意的是我是Cake的新手。

1 个答案:

答案 0 :(得分:2)

好的,所以错误信息是编码的Unicode:

\u0630\u062e\u06cc\u0631\u0647 \u062f\u0686\u0627\u0631 \u062e\u0637\u0627 \u0634\u062f . \u0644\u0637\u0641\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0633\u0639\u06cc \u06a9\u0646\u06cc\u062f

这显然代表了这个阿拉伯语短语:

  

ذخیرهدچارخطاشد。 لطفادوبارهسعیکنید

Google Translate表示这意味着

  

有电[或'存储']错误。请再试一次

这与你正在进行保存的事实相结合,让我觉得你的数据或字段有些不对劲,因此我建议尝试按照this question中的详细说明进行调试,方法是检查此方法和领域:

$taskAttributeModel->invalidFields()

$taskAttributeModel->validationErrors