我有新闻模特,新闻有很多评论,所以我在新闻模型中做到:
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