Laravel渴望加载带有限制和自定义字段的子关系

问题描述

我有一个自定义查询,可以在其中按城市分组来获得服务,并通过加载那里的评论从服务表中仅选择自定义字段:

$services = City::select('id')
                ->has('services')
                ->with([
                    'services:id,title','services.reviews'
                ])->get();

在这种情况下,我只需要对每个带有评论自定义字段的服务进行 3条评论。例如,我只需要从评论表中获得描述和费率。我该怎么办?

解决方法

您可以创建一个将孩子限制为三行的关系。然后,您可以指定要以与服务相同的方式显示哪些列。

例如,在Service模型中,添加以下内容:

public function threeReviews() {
    return $this->reviews()->take(3);
}

然后以与使用服务相同的方式使用它。

->with(['services:id,title','services.reviews:description,rate'])

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...