У меня запрос на фильтрацию выглядит следующим образом.
public function index( Request $request ) {
$dateFrom = $request->get( 'dateFrom' );
$dateTo = $request->get( 'dateTo' );
$status = $request->get( 'orderState' );
$orders = ( new OrderList() )
->whereHas( 'orderDetail', function ( $query ) {
$query->where( 'supplier_id', Auth::guard( 'supplier' )->user()->id );
} )
->with( 'deliveryList' )
->with( 'orderDetail' )
->when( $dateFrom, function ( $query ) use ( $dateFrom, $dateTo ) {
$query->whereBetween( 'created_at', [ $dateFrom, $dateTo ] );
} )
->when( $status, function ( $query ) use ( $status ) {
$query->where( 'order_state_id', $status )->get();
} )->get();
$productList = $orders->orderDetail;
dd( $productList );
//Order Status
$orderStates = OrderState::listsTranslations( 'states' )->pluck( 'states', 'id' )->toArray();
return view( 'supplierComponents.order_list', compact( 'orders', 'orderStates' ) );
}
теперь этот запрос выведет список заказов с деталями заказов.
мне нужно сгруппировать товары в каждом заказе и получить количество
последний вид должен выглядеть примерно так
product name quantity
-------------------------------
Tea 5
-------------------------------
juice 3
-------------------------------
Мои модели
OrderLst
public function orderDetail() {
return $this->hasMany( OrderDetail::class, 'order_id' );
}
Обновление
думал, что я никогда не получу правильный путь от controller
, и я не думал о том, чтобы попытаться получить его прямо в лезвие
Итак, то, что я сделал, смещено на лезвие, пытающееся сделать это там.
Вот что я сделал
@foreach($orders as $order)
@foreach($order->orderDetail as $items)
<tr>
<td>{!! $items->quantity !!}</td>
<td>{!! $items->product_name !!}</td>
</tr>
@endforeach
@endforeach
Теперь я получаю все перечисленные продукты по мере необходимости, но попробуйте Group
их
вот так
@foreach($orders as $order)
@foreach($order->orderDetail->groupBy('product_id') as $items)
<tr>
<td>{!! $items->quantity !!}</td>
<td>{!! $items->product_name !!}</td>
</tr>
@endforeach
@endforeach
Получено: Свойство [количество] не существует в этом экземпляре коллекции.