Пагинация показывает ошибку при использовании в построителе запросов - PullRequest
0 голосов
/ 27 июня 2018

У меня есть запрос, подобный следующему, и он работает как ожидалось. Я использовал здесь параметр havingRaw, чтобы отфильтровать результат.

$customers = Customer::select(DB::raw("`name`, `mobile`, `branch`, count(*) as total_orders"))
    ->groupBy('mobile')
    ->havingRaw('total_orders > 12')
    ->orderBy('total_orders', 'desc')
    ->get();

Поскольку общее количество возвращаемых строк будет меняться, мне нужно показать его как разбитое на страницы. Поэтому я изменил запрос, как показано ниже. Затем он показывает ошибку, что столбец total_orders не найден.

$customers = Customer::select(DB::raw("`name`, `mobile`, `branch`, count(*) as total_orders"))
    ->groupBy('mobile')
    ->havingRaw('total_orders > 12')
    ->orderBy('total_orders', 'desc')
    ->paginate();

Я нашел несколько обходных путей для предыдущих версий Laravel. Я использую Laravel 5.6 для своего проекта, есть ли решение для этого?

1 Ответ

0 голосов
/ 27 июня 2018

Попробуйте это ..

$customers = Customer::select(DB::raw("`name`, `mobile`, `branch`, count(*) as 
  total_orders"))
 ->groupBy('mobile')
 ->having('total_orders','>', 12)
 ->orderBy('total_orders', 'desc')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...