У меня есть следующая база данных:
Project
_______
id, project_name, customer_id
431, test, 2
Customer
________
id, customer_name
2, good_customer
Loe
___
id, mandays, project_id
1, 10, 431
Я хотел бы использовать eloquent в laravel и выбрать следующее:
{loe_id:1,mandays:10,project_id:431,project_name:'test',customer_id:2,customer_name:'good_customer'}
Я пытался:
$project_loes = Loe::with(['project' => function($query) {
return $query->select(['id', 'project_name']);
}])
->where('project_id',$id)
->get();
уже там, я блокирую, потому что я получаю вложенный результат, например:
{loe_id:1,mandays:10,project:{id:431,project_name:'test'}}
Так что это не в одной строке, я получаю другой {} в рамках проекта, когда я буду хотел бы иметь все в одном результате {}.
Тогда я не могу понять, как получить вложенную часть, я попытался:
$project_loes = Loe::with(['project' => function($query) {
return $query->select(['id', 'project_name']);
},
'project.customer' => function($query) {
return $query->select(['id', 'customer_name']);
}])
->where('project_id',$id)
->get();
, но он возвращает мне ошибку и это связано с project.customer.