簡體   English   中英

如何在Laravel中獲取最新的n個相關模型記錄

[英]How to get latest n number of related model records in laravel

我有兩個表- CategoriesPosts 它們之間的關系是一對多的。 即-一個類別有很多職位。

我正在嘗試獲取所有Categories的列表及其最新的3個帖子

我已經嘗試過:

$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();

但它似乎僅對第一個類別有效,后續類別為空。

您可以嘗試如下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM