2 回答

TA贡献1780条经验 获得超5个赞
您应该使用get()
而不是first()
,然后使用dd($dca_details)
变量 inforeach()
查看 $dca_details 是否有用户,如果它有使用 dd($dca_details->user->name)
处理此错误的最佳方法是使用:
{{ $dca_details->user->name ?? '-' }}

TA贡献1806条经验 获得超8个赞
那是因为一个 developer_contractor_association 没有用户。你必须使用
@foreach($developer_contractor_association as $dca_details)
<h2> {{ $dca_details->user->name ?? 'User absent' }} </h2>
<p><i class="fas fa-map-marker-alt"></i>{{ $dca_details->contractor->address ?? ''}}</p>
<p><i class="fas fa-envelope"></i>{{ $dca_details->user->email ?? ''}}</p>
<p><i class="fas fa-phone"></i>{{ $dca_details->contractor->contact_no ?? ''}}</p>
@endforeach
或者你可以使用
@foreach($developer_contractor_association as $dca_details)
@if(empty($dca_details->user) || empty($dca_details->contractor))
@continue
@endif
<h2> {{ $dca_details->user->name }} </h2>
<p><i class="fas fa-map-marker-alt"></i>{{ $dca_details->contractor->address }}</p>
<p><i class="fas fa-envelope"></i>{{ $dca_details->user->email }}</p>
<p><i class="fas fa-phone"></i>{{ $dca_details->contractor->contact_no }}</p>
@endforeach
或在控制器使用中
$developer_contractor_association = DeveloperContractorAssociation::whereHas('defect_types', function ($query) use($id) {
$query->where('developer_contractor_associations.id', $id);
})->orwhereHas('contractor', function ($query) use($id) {
$query->where('developer_contractor_associations.id', $id);
})->has('user')
->has('contractor')
->get();
return view('dev-admin.contractors.associations.edit', ['developer_contractor_association' => $developer_contractor_association]);
- 2 回答
- 0 关注
- 139 浏览
添加回答
举报