0

Cakephp アプリでデータを削除しているときに、次のエラーが発生します。

Undefined index:  Image [CORE/cake/libs/model/model.php, line 1477]
Model::updateCounterCache() - CORE/cake/libs/model/model.php, line 1477
Model::delete() - CORE/cake/libs/model/model.php, line 1842
ImagesController::delete() - APP/controllers/images_controller.php, line 67
Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 204
Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 171
[main] - APP/webroot/index.php, line 86

このエラーが発生している私のコードは次のとおりです。

$this->Image->delete($image_id);

$image_id が null ではなく正しいことを確認しました。また、この特定の行によってエラーが発生することも確認しました。私はimages_controllerの中にいます。私はCakephp 1.3を使用しています。

ここに私の画像モデルコードがあります:

  class Image extends AppModel {

    var $name = 'Image';

   var $belongsTo = "User";

    function afterFind($results) 
    {
       /*some custom afterfind work here */
    }
  }

画像はデータベースから削除されていますが、このエラーが発生し続けます。

====================================== 編集
関数の完全なコード:

function delete() {

            $this->checkAuth();

            $user_id = $user_id = $this->Auth->user('id');

            if(!empty($this->data))

            {

                $image_id = $this->data['Image']['id'];

                $image = $this->Image->find("first", array("conditions"=>array("Image.id"=>$image_id)));

                if($image) {

                    if($image['Image']['user_id']==$user_id){

                        $this->Image2->delete_image($image['Image']['image_path'],"upload");
                        //echo "image id:".$image_id;
                        $this->Image->delete(intval($image_id));

                        $this->set("success","1");

                        $this->set("msg","Image deleted successfully."); 

                    }

                    else {

                        $this->set("success","0");

                        $this->set("msg","You do not have permission to delete this image."); 

                    }

                }

                else {

                    $this->set("success","0");

                    $this->set("msg","Cannot find image."); 

                }

            }

            else

            {

                $this->set("success","0");

                $this->set("msg","No data posted"); 

            }

        }

これからjsonを出力するため、ビューには何もありません。

4

0 に答える 0