我有新闻模特,新闻有很多评论,所以我在新闻模型中做到:
public function comments(){ $this->hasMany('Comment','news_id'); }
但是我也在评论表中删除了字段,我只想选择不被删除的注释.所以垃圾<>所以我想知道有没有办法做这样的事情:
$news = News::find(123); $news->comments->where('trashed','<>',1); //some sort of pseudo-code
有没有办法使用上面的方法,或者我应该写这样的东西:
$comments = Comment::where('trashed',1) ->where('news_id','=',$news->id) ->get();
任何这些都适合你,选择你最喜欢的一个:
渴望加载.
$comments = News::find(123)->with('comments',function ($query) { $query->where('trashed',1); });
>懒加载
$news = News::find(123); $comments = $news->comments()->where('trashed',1)->get();
我不禁要注意到,尽管如此,您可能想要做的是处理软删除,而Laravel内置功能可以帮助您:http://laravel.com/docs/eloquent#soft-deleting