我有带有 is_featured 列的类别表。现在我想选择 3 个产品的特色类别(限制 3 个或每个特色类别)。我尝试使用以下代码,但仅从第一个特色类别中获得 3 个产品。
$categories = Category::where('is_featured', true)->with('products', function ($query){
$query->take(3);
})->get();
谁能帮我解决这个问题? 提前致谢
答案 0 :(得分:1)
看起来默认情况下它不支持有限制的急切加载
要解决这个问题,您可以安装以下库
https://github.com/staudenmeir/eloquent-eager-limit
并在模型中使用以下特征
use \Staudenmeir\EloquentEagerLimit\HasEagerLimit;
如果您正在寻找没有图书馆的内容
参考:Laravel Eloquent limit results for relationship
Ref:Eager-loading 限制集合只加载集合中的最后一个元素