Работники колонок:
Рекомендации по колонкам:
Мой запрос:
$getRecommendationWorker = Worker::select('workers.id', 'workers.name', 'workers.photo', 'workers.description', 'workers.profile_worker', 'recommendations.recommendation', 'recommendations.author', 'recommendations.work_author', 'recommendations.profile_author')
->leftJoin('recommendations', 'workers.id', '=', 'recommendations.worker_id')
->get();
Возврат Laravel:
{"id":5,"name":"Piotr Debowski","photo":"3c29641e2a.jpeg","description":"sdasdasd","profile_worker":"https:\/\/codepen.io\/","recommendation":"pierwsza rekomendacja","author":"Jan Kowalski","work_author":"IT spec","profile_author":"https:\/\/stackoverflow.com\/questions\/43136250\/eloquent-join-table-with-two-conditions"}
{"id":5,"name":"Piotr Debowski","photo":"3c29641e2a.jpeg","description":"sdasdasd","profile_worker":"https:\/\/codepen.io\/","recommendation":"druga rekomendacja","author":"Jan Wo\u017aniak","work_author":"dsad","profile_author":"https:\/\/nczas.com\/2018\/08\/21\/wreszcie-zatrzymali-t"}
У меня есть id
, name
и другое значение из таблицы workers
, дважды возвращенное.Я хочу, чтобы return выглядела так:
{"id":5,"name":"Piotr Debowski","photo":"3c29641e2a.jpeg","description":"sdasdasd","profile_worker":"https:\/\/codepen.io\/","recommendation":"pierwsza rekomendacja","author":"Jan Kowalski","work_author":"IT spec","profile_author":"https:\/\/stackoverflow.com\/questions\/43136250\/eloquent-join-table-with-two-conditions","recommendation":"druga rekomendacja","author":"Jan Wo\u017aniak","work_author":"dsad","profile_author":"https:\/\/nczas.com\/2018\/08\/21\/wreszcie-zatrzymali-t"}
Я хочу из таблицы workers
вернуть только одну строку, а из таблицы recommendations
все записи, относящиеся к первой таблице.Когда я использую groupBy
(например: ...->->groupBy('workers.id')
), возвращайте мне только первую запись из таблицы recommendations
.Я не могу использовать where
, потому что все значения будут отображаться на одной странице.Столбец worker_id
относится к таблице workers
РЕДАКТИРОВАТЬ:
Модель работника:
public function recommendations()
{
return $this->hasMany('App\Recommendation');
}
Модель рекомендации:
public function workers()
{
return $this->belongsTo('App\Worker');
}