Что я хочу сделать, это присоединиться к следующим таблицам и сгруппировать их по идентификатору термина, но кажется, что в части запроса SELECT есть ошибка. Может кто-нибудь помочь мне исправить?
public function getSponsor()
{
$sponsor = DB::table('sponsors')
->join('terms', 'terms.id', '=', 'sponsors.term_id')
->join('committees', 'committees.id', '=', 'terms.committee_id')
->join('persons', 'persons.id', '=', 'sponsors.person_id')
->select('sponsors.term_id as sponsor_term_id', 'terms.id as term_id', 'terms.term', 'persons.person_name', 'persons.id as person_id', 'committees.committee_name')
->groupBy('terms.id')
->get();
return $sponsor;
}
Вот ошибка
SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1055 Выражение № 4 из списка SELECT отсутствует в Предложение GROUP BY и содержит неагрегированный столбец «cdorts.persons.person_name», который функционально не зависит от столбцов в предложении GROUP BY; это несовместимо с sql_mode = only_full_group_by (SQL: выберите sponsors
. term_id
как sponsor_term_id
, terms
. id
как term_id
, terms
. term
, persons
. person_name
, persons
. id
как person_id
, committees
. committee_name
из sponsors
внутреннее соединение terms
в terms
. id
= sponsors
. term_id
внутреннее соединение committees
на committees
. id
= terms
. committee_id
внутреннее объединение persons
на persons
. id
= sponsors
. person_id
сгруппировать по terms
. id
)