由于不在GROUP BY中,Laravel 5.4 Group By无法正常工作

问题描述 投票:0回答:1

当我使用我的代码时,它正常工作

 $pick_list_items = DB::table('pick_list_detail')
    ->select(['pick_list_detail.*','sale_invoice_detail.product_id','sale_invoice_detail.product_qty','sale_invoice_detail.uom','sale_invoice_detail.uom_factor'])
    ->where('pick_list_detail.pick_list_id',$id)
    ->join('sale_invoices','pick_list_detail.sale_invoice_id','=','sale_invoices.id')
    ->join('sale_invoice_detail','sale_invoice_detail.sale_invoice_id','=','pick_list_detail.sale_invoice_id')
    ->get();

我得到了我需要的输出所以它是这样的,许多sale_invoices中有很多产品,我的查询需要根据product_id对产品进行分组,所以我做的是这样的:

 $pick_list_items = DB::table('pick_list_detail')
    ->select(['pick_list_detail.*','sale_invoice_detail.product_id','sale_invoice_detail.product_qty','sale_invoice_detail.uom','sale_invoice_detail.uom_factor'])
    ->where('pick_list_detail.pick_list_id',$id)
    ->join('sale_invoices','pick_list_detail.sale_invoice_id','=','sale_invoices.id')
    ->join('sale_invoice_detail','sale_invoice_detail.sale_invoice_id','=','pick_list_detail.sale_invoice_id')
    ->groupBy('sale_invoice_detail.product_id')
    ->get();

错误是这个Error upon triggering

laravel laravel-5.4
1个回答
0
投票
 $pick_list_items = DB::table('pick_list_detail')
    ->select(['pick_list_detail.*', 'sale_invoice_detail.product_id', 'sale_invoice_detail.product_qty', 'sale_invoice_detail.uom', 'sale_invoice_detail.uom_factor'])
    ->where('pick_list_detail.pick_list_id',$id)
    ->join('sale_invoices', 'pick_list_detail.sale_invoice_id','=','sale_invoices.id')
    ->join('sale_invoice_detail', 'sale_invoice_detail.sale_invoice_id','=','pick_list_detail.sale_invoice_id')
    ->groupBy('sale_invoice_detail.product_id')
    ->groupBy('pick_list_detail.id')
    ->get();

我在group by中添加了另一个缺失的列,即pick_list_detail.id

© www.soinside.com 2019 - 2024. All rights reserved.