我在使用laravel 4.1 hasWhere過濾關係時遇到問題。Laravel 4.1雄辯 - 過濾關係集合
迭代1 - 獲取的所有帖子:完成
$posts = Post::all();
迭代2 - 獲取的所有帖子延遲加載註釋:完成
$posts = Post::with('comments')->get();
迭代3 - 獲取意見和延遲加載僅帖子:完成
$posts = Post::with('comments')->has('comments')->get();
Iteration 4 - 僅獲得發表評論和延遲加載的文章:損壞的
$posts = Post::with('comments')
->whereHas('comments', function($q) {
return $q->where('published', '=', 1);
})
->get();
print_r($posts->toArray())
的輸出顯示迭代3和4的輸出完全相同。 我無法根據'comments.published' = 1
的條件篩選關係。
我相信問題是,你調用'在return'查詢的方法。只需調用'$ q-> where('published','=',1);'(no'return' statement),你應該很好。 – Soulriser