0

CakePHP 1.x で作成されたいくつかのビデオチュートリアルを使用して、CakePHP について学習しています。最新バージョンの CakePHP 2.2.2 安定版を使用しています。編集機能を実装しようとすると、次のエラーが発生します。

警告 (2): 不正なオフセット タイプ [CORE\Cake\Model\Model.php、2666 行目]

これは編集機能のコードです:

function edit($id = null){
            if(!$id){
                $this->Session->setFlash('Tarea invalida');
                $this->redirect(array('action'=>'index'),null,true);
            }
            if(empty($this->data)){
                $this->data = $this->Tarea->find(array('id'=>$id));
            }else{
                if($this->Tarea->save($this->data)){
                    $this->Session->setFlash('La tarea ha sido salvada');
                    $this->redirect(array('action'=>'index'),null,true);
                }else{
                    $this->Session->setFlash('La tarea no ha podido ser salvada. Intentelo de nuevo');
                }
            }
        }

そして私は変わった

$this->data = $this->Tarea->find(array('id'=>$id));

$this->data = $this->Tarea->find('all',array('conditions',array('id'=>$id)));

エラーは表示されませんが、データベースからデータが取得されていません...実装した場合:

$this->data = his->Tarea->find('first',array('conditions',array('id'=>$id)));

最初の値は常に取得されます。

あなたの助けを願っています、ダニエル

4

1 に答える 1

1

findあなたの発言の次の部分は間違っています: array('conditions',array('id'=>$id)). である必要があります: array('conditions' => array('id'=>$id))

于 2012-09-23T13:44:01.513 に答える