Использование Eloquent для заказа списков в Laravel не может дать ожидаемый результат - PullRequest
0 голосов
/ 05 декабря 2018

В контроллере моего проекта Laravel я хочу получить два списка в разных порядках с моделью Product, поэтому я написал следующий код:

$products = Product::where('status', 0);
$newProduct = $products->orderBy('created_at', 'desc')->limit(15)->get();
$hotProduct = $products->orderBy('click_counts', 'desc')->limit(15)->get();

Я обнаружил, что $newProduct получает правильныйсортировать но не $hotProduct.Если я не изменю код следующим образом:

$newProduct = Product::where('status', 0)->orderBy('created_at', 'desc')->limit(15)->get();
$hotProduct = Product::where('status', 0)->orderBy('click_counts', 'desc')->limit(15)->get();

Мой вопрос: почему мой первый фрагмент кода неправильный и не может дать ожидаемый результат?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

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

$products = Product::where('status', 0);
$newProduct = $products->orderBy('created_at', 'desc')->limit(15);
$hotProduct = $products->orderBy('click_counts', 'desc')->limit(15);

return view('foo.bar', ['newProduct', $newProduct->get(), 'hotProduct' => $hotProduct->get()]);
0 голосов
/ 05 декабря 2018

Попробуйте этот запрос:

$newProduct = Product::where('status', 0)->orderBy('created_at', 'desc')->limit(15)->get();
$hotProduct = Product::where('status', 0)->orderBy('click_counts', 'desc')->limit(15)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...