我正在创建一个 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
}
有什么想法我可能会出错吗?
您必须在
findOrFail
的第二个参数中添加关系名称,在您的示例中可能类似于:
$fields = array_merge($request->relationships, $request->fields);
return $this->contacts::with($request->relationships)->findOrFail($request->id, $fields);