为什么这个查询:
$data = Category::find(3)->articles->where('publish', '1')->paginate(5);
不起作用? select
查询:$data = Category::where('publish', '1')->paginate(5);
有效。
版本laravel:5.1。在表categories
中,与表articles
存在一对多的关系。
答案 0 :(得分:3)
articles
返回集合,articles()
返回relation
。您可以在where
上使用relation
,而不是collection
。
变化
$data = Category::find(3)->articles->where('publish', '1')->paginate(5);
到
$data = Category::find(3)->articles()->where('publish', '1')->paginate(5);