В моем коде Laravel -5.8 я пытаюсь отобразить Диспетчер линий сотрудника
Контроллер:
public function index()
{
$userCompany = Auth::user()->company_id;
$userEmployee = Auth::user()->employee_id;
$userId = Auth::user()->id;
$linemanager = DB::table('hr_employees')->where('id', $userEmployee)->first();
$linemanageruserid = DB::table('hr_employees')->select('line_manager_id')->where('line_manager_id', $linemanager->line_manager_id)->first();
$linemanageruserids = DB::table('hr_employees')->where('id', $linemanageruserid->line_manager_id)->first();
$linemanagerdetails = DB::table('hr_employees')->select('id','employee_code','first_name','last_name')->where('id', $linemanageruserids->id)->first();
$linemanagerdetail = $linemanagerdetails->first_name . ' ' . $linemanagerdetails->last_name;
$employees = HrEmployee::with('linemanager')->where('id', $userId)->get();
return view('dashboard')
->with('employees', $employees)
->with('linemanagerdetail', $linemanagerdetail);
}
view
@foreach($employees as $key => $employee)
<!-- Profile Image -->
<div class="card card-secondary card-outline">
<div class="card-body box-profile">
<h3 class="profile-username text-center">{{auth()->user()->first_name}} {{auth()->user()->last_name}}</h3>
<p class="text-muted text-center">Designation: {{isset($employee->designation) ? $employee->designation->designation_name : 'N/A'}}</p>
<ul class="list-group list-group-unbordered mb-3">
<li class="list-group-item">
<b>Staff ID:</b> <a class="float-right">{{isset($employee->employee_code) ? $employee->employee_code : 'N/A'}}</a>
</li>
<li class="list-group-item">
<b>Department:</b> <a class="float-right">{{isset($employee->department) ? $employee->department->dept_name : 'N/A'}}</a>
</li>
<li class="list-group-item">
<b>Grade Level:</b> <a class="float-right">{{isset($employee->gradelevel) ? $employee->gradelevel->grade_level_name : 'N/A'}}</a>
</li>
<li class="list-group-item">
<b>Line Manager:</b> <a class="float-right">{{isset($linemanagerdetail) ? $linemanagerdetail : 'None'}}</a>
</li>
</ul>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
@endforeach
Когда я рендерил представление, я ожидал
{{isset ($ linemanagerdetail)? $ linemanagerdetail: 'None'}}
, чтобы отобразить имя и фамилию менеджера линии, но я получил ошибку:
Попытка получить свойство 'id' не object
Затем эта строка кода подсвечивается:
$ linemanagerdetails = DB :: table ('hr_employees') -> select ('id', 'employee_code' , 'first_name', 'last_name') -> где ('id', $ linemanageruserids-> id) -> first ();
При отладке я заметил, что ошибка произошла из-за поле пустое.
Как отобразить None, если поле пустое?
Спасибо.