Я столкнулся с проблемой в laravel 5.7.28, я пытаюсь получить записи со всеми моими полями и разбить их на страницы, к сожалению, я получил ошибку в своем коде, которая приводила к регистрации пользователей с повторяющимся номером телефона (пользователь регистрировал себя более одного раза, и, конечно, я исправляю ошибку), сейчас я сталкиваюсь со сценарием, который я хочу получить (не дублировать) отдельных пользователей на их телефоне и разбить их на страницы. Вот желаемый сценарий:
$users = User::distinct('phone')
->doesntHave('carrierUsers')
->doesntHave('thirdparty')
->latest()->paginate(40);
возвращает всех пользователей (с повторяющимся номером телефона), кажется, отдельная функция не затронута, поэтому я попробовал уникальную функцию:
$users = User::doesntHave('carrierUsers')
->doesntHave('thirdparty')
->latest()->paginate(40)->unique('phone');
она работает (для получить не дубликат), но нарушить нумерацию страниц
и для
$users = User::doesntHave('carrierUsers')
->doesntHave('thirdparty')
->latest()
->unique('phone')
->paginate(40);
я получил ошибку для неопределенной функции на сборщике, означает, что она работает на коллекциях, также я попробовал groupBy (поиск по всей сети для решения), это делает меня смущенным до тех пор, пока я использую его
User::doesntHave('carrierUsers')->doesntHave('thirdparty')
->latest()->groupBy('phone')
->paginate(40);
я получил SELECT list is not in GROUP BY clause
, это означает, что в каждой фразе в моем утверждении выбора (сейчас все ('*')) я следует использовать его в моей группе? я имею в виду, мне нужны все столбцы, как я могу иметь все эти столбцы в предложении groupBy? что это значит между прочим?
, ошибка говорит: это несовместимо с sql_mode = only_full_group_by . она заставляет это случиться? как я могу это исправить? 1) извините за мой английский sh 2) спасибо за чтение всего этого 3) приятно ответить и помочь мне