Laravel Select Row with Unique column - PullRequest
       6

Laravel Select Row with Unique column

0 голосов
/ 04 ноября 2019

У меня есть одна база данных следующим образом:

id, shop, order_number, Price
1,  google, 11, 20
2,  apple, 12, 20
3, google, 13, 20
4, google, 11, 20,
5, google, 11 , 20

Если я использую следующую команду в laraval:

Order::where('shop','=','google')->orderBy('id','desc')->get()->toArray();

Это отлично покажет мне результаты, где магазин Google.

однако я хочу вернуть только уникальные результаты по номеру заказа и тому, где находится магазин Google. Он должен вернуть следующий результат:

1,  google, 11, 20
3, google, 13, 20

Я пытаюсь использовать следующий метод:

Order::distinct()->where('shop','=','google')->orderBy('id','desc')->get(['id,shop,order_number,price'])->toArray();

Но, похоже, не работает.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

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

Order::distinct()
->select('id','shop','order_number','price') //if you are selecting all column no need to write select
->where('shop','=','google')
->orderBy('id','desc')
->groupBy('order_number')
->get()
->toArray();
0 голосов
/ 04 ноября 2019

Ваш синтаксис неправильный: QueryBuilder get () ожидает массив столбцов, поэтому он должен выглядеть следующим образом:

Order::distinct()->where('shop','=','google')->orderBy('id','desc')->get(['id','shop','order_number','price'])->toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...