Laravel Eloquen ORM 无法正确返回模型的关系

问题描述 投票:0回答:1

我正在创建一个 API。在此存储库中,有一个名为 show() 的方法,其中返回联系人。用户必须提供联系人的 ID,并且可以提供要加载的关系数组以及称为字段的联系人属性数组。

return $this->contacts::with($request->relationships)->findOrFail($request->id, $request->fields);

但是当提供

$request->fields
时,所有关系都返回 null。

请求的Json:

{
    "id": 75,
    "fields": ["id", "name"],
    "relationships": ["lead", "phone", "email", "address"]
}

响应的Json:

{
    "id": 75,
    "name": "Edgard Cesar Bertelli dos Reis",
    "lead": null,
    "phone": null,
    "email": null,
    "address": null
}

有什么想法我可能会出错吗?

php laravel eloquent orm relationship
1个回答
1
投票

您必须在

findOrFail
的第二个参数中添加关系名称,在您的示例中可能类似于:

$fields = array_merge($request->relationships, $request->fields);
return $this->contacts::with($request->relationships)->findOrFail($request->id, $fields);
© www.soinside.com 2019 - 2024. All rights reserved.