#php #laravel #eloquent
#php #laravel #красноречивый
Вопрос:
У меня есть три модели Driver
Worker
и Group
. Модели такие:
class Group extends Model
{
.....
public function driver()
{
return $this->belongsTo('AppDriver');
}
public function worker()
{
return $this->belongsTo('AppWorker');
}
}
Пилоты
class Driver extends Model
{
public function groups()
{
return $this->hasMany('AppGroup');
}
}
Рабочий
class Workerextends Model
{
public function groups()
{
return $this->hasMany('AppGroup');
}
}
Но как я могу получить один элемент с отношениями, которые я определил в своих моделях. У меня есть это в моем контроллере, но я получаю только первый элемент таблицы. Мне нужно получить элемент с идентификатором, а также отношения.
public function show(Group $group)
{
return $group->with(['worker','driver'])->first();
}
Комментарии:
1. Что вы хотите получить? Все работники и водители вашей группы?
Ответ №1:
попробуйте это
public function show(Group $group,$id){
$group = $group->where('id',$id)->with(['worker','driver'])->first();
return $group
}
в вашем маршруте
Route::get('/group/show/{id}', 'GroupController@show')->name('group.show');