Я новичок в Laravel и в настоящее время пытаюсь создать систему продажи билетов. В моей таблице tickets
есть два столбца, которые ссылаются на id
из таблицы users
, а именно user_id
и handled_by
. Я пытаюсь загрузить full_name
из handled_by
, но выдает ошибку «Попытка получить свойство 'full_name' не-объекта». Я хотел бы знать, как правильно создать красноречивую связь между handled_by
и tickets
, чтобы я мог отобразить full_name
handled_by
. Ниже приведены фрагменты моего кода.
Модель пользователя:
public function tickets(){
return $this->hasMany('\App\Ticket');
}
public function handledBy(){
return $this->hasMany('\App\User', 'handled_by', 'id');
}
Модель билета:
public function user(){
return $this->belongsTo('\App\User');
}
public function handledBy(){
return $this->belongsTo('\App\User', 'handled_by', 'id');
}
Вид:
@foreach($tickets as $ticket)
<td class="align-middle text-center">{{ $ticket->handled_by->full_name}}</td>
@endforeach
Контроллер:
$tickets = Ticket::all()->where('status_id', '1');
return view('admin.open_tickets', compact('tickets'));