如何在laravel中获取最新的n个相关模型记录

时间:2015-06-16 05:43:02

标签: php laravel orm eloquent laravel-5

我有两张桌子 - CategoriesPosts。它们之间的关系是一对多的。即 - 一个类别有很多帖子。

我正在尝试使用最新的3个帖子获取所有Categories的列表

我试过这个: -

$with = array('posts' => function($query) {
  $query->take(3);
  $query->orderBy('created_at', 'desc');
  $query->addSelect(array('name', 'excerpt','category_id'));
});

$categories = Category::with($with)->get();

但它似乎仅适用于第一类,后续类别为空。

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

$categories = Category::all()->each(function($category) {
    $category->posts = $category->posts()
                                ->addSelect(['name', 'excerpt', 'category_id'])
                                ->latest()->take(3)->get();
});
相关问题