在视图中访问预先加载的对象 laravel 5.7
Accessing eager-loaded objects in view laravel 5.7
我有几个模型链接到一个模型调用
我定义了所有关系,它们工作得很好,但我对急切加载的结果有疑问。
我有这个查询:
$callDetails =\App\Call::with(['client','subissues','subissues.issue','partner','district'])
->where('call.id', '=', $id)
->get();
在 tinker 返回时效果很好
{"id":17400,
"client":{"id":18317,"name":"Yad Kal","phonenumber":"0991234567","age":27,"gender":"Male"},
"district":{"id":1,"name":"Dedza"},
"comments":" He complained ",
"completeness":"complete",
"perpetrator":1,
"partner_id":119,"status":1,
"subissues":[{"id":1378,"name":"Issues of Dissatifaction","description":"Issues of Dissatifaction","issue":{"id":6,"name":"Emergency Response (World)","description":"Emergency response"},"pivot":{"call":17400,"subissue":1378}}],"partner":{"id":119,"name":"World"}}
但是当尝试使用 $callDetails->client
访问客户端时,它 returns 只有客户端 ID。
$callDetails->client->name
returns 一个错误。
我不知道哪里做错了,但所有急切加载的结果都让我头疼!
确保您的 table 列中没有名称 client
,或者您的模型中没有名称 client
的任何 属性。当 relationship 和 field/property 具有完全相同的名称(在您的情况下为 client
)可能会导致问题,因此在这种情况下您应该重命名 relationship 或 field/property
我有几个模型链接到一个模型调用 我定义了所有关系,它们工作得很好,但我对急切加载的结果有疑问。
我有这个查询:
$callDetails =\App\Call::with(['client','subissues','subissues.issue','partner','district'])
->where('call.id', '=', $id)
->get();
在 tinker 返回时效果很好
{"id":17400,
"client":{"id":18317,"name":"Yad Kal","phonenumber":"0991234567","age":27,"gender":"Male"},
"district":{"id":1,"name":"Dedza"},
"comments":" He complained ",
"completeness":"complete",
"perpetrator":1,
"partner_id":119,"status":1,
"subissues":[{"id":1378,"name":"Issues of Dissatifaction","description":"Issues of Dissatifaction","issue":{"id":6,"name":"Emergency Response (World)","description":"Emergency response"},"pivot":{"call":17400,"subissue":1378}}],"partner":{"id":119,"name":"World"}}
但是当尝试使用 $callDetails->client
访问客户端时,它 returns 只有客户端 ID。
$callDetails->client->name
returns 一个错误。
我不知道哪里做错了,但所有急切加载的结果都让我头疼!
确保您的 table 列中没有名称 client
,或者您的模型中没有名称 client
的任何 属性。当 relationship 和 field/property 具有完全相同的名称(在您的情况下为 client
)可能会导致问题,因此在这种情况下您应该重命名 relationship 或 field/property