我试图为表中的每个外键检索最新的5行,所以想象一下以下数据库结构:
CATEGORY (id, name)
ARTICLE (id, category_id, title)
我想做这样的事情:
Article::where("category_id", 1)
-> latest()
-> limit(5)
-> get();
Article::where("category_id", 2)
-> latest()
-> limit(5)
-> get();
等等。我如何将其作为所有外键的单个查询?
谢谢!
答案 0 :(得分:0)
你可以这样做:
Category::with(['article' => function($q){
$q->orderBy('id', 'desc');
$q->limit(5);
})->get();
当然,您需要在模型中创建外键关系才能使用该功能。
以下是如何创建关系的文档:https://laravel.com/docs/5.4/eloquent-relationships#one-to-many
答案 1 :(得分:0)
Per this:
它本身不受支持。相反,你必须使用懒惰的急切加载。