Php Laravel关于删除所有相关帖子和评论的书

Php Laravel关于删除所有相关帖子和评论的书,php,laravel,laravel-4,orm,Php,Laravel,Laravel 4,Orm,这段代码来自我的书模型: class Book extends \Eloquent { public function delete() { // delete all related cover photos $this->cover()->delete(); // delete all related comments photos $this->posts()->comm

这段代码来自我的
模型:

 class Book extends \Eloquent
 {  

 public function delete()

     {
         // delete all related cover photos
         $this->cover()->delete();
         // delete all related comments photos
         $this->posts()->comments()->delete();
         // delete all related Blurbs
         $this->posts()->delete();

         // delete the model
         return parent::delete();
     }
 }
Post
模型中,我写道:

 function book() {

         return $this->belongsTo('Book');

     }

     function comments() {

         return $this->hasMany('Comment');

     }

     function user() {

         return $this->belongsTo('User');

     }

 public function delete()
     {

         // delete all related comments also
         $this->comments()->delete();
         // delete the model
         return parent::delete();
     }
 function posts() {

         return $this->belongsTo('Post');
     }

     function user() {

         return $this->belongsTo('User');
     }
评论中
我写道:

 function book() {

         return $this->belongsTo('Book');

     }

     function comments() {

         return $this->hasMany('Comment');

     }

     function user() {

         return $this->belongsTo('User');

     }

 public function delete()
     {

         // delete all related comments also
         $this->comments()->delete();
         // delete the model
         return parent::delete();
     }
 function posts() {

         return $this->belongsTo('Post');
     }

     function user() {

         return $this->belongsTo('User');
     }
现在,当我试着取下这本书时,它说。
调用undefined method\Database\Query\Builder::comments()


因此,我理解书中的模型删除注释不起作用,但不知道如何解决它。

您可能需要使用正确的索引、外键以及@Razor所说的级联更新数据库模式。。。请参阅

为什么不在数据库中指定级联删除,并让数据库引擎为您执行此操作。但首先,每次需要删除一本书时,您都需要删除所有关系(与post和comment相同)?这取决于您的业务逻辑,所以这是一个关于数据库建模的问题。@Razor-您能给我一个关于级联删除的好参考吗?mysql有很好的文档记录(跳转到引用操作),您也可以检查这个答案。但是我可以为你的问题提供一个很好的答案。谢谢@Razor,它解决了我的问题