2017-11-21 18 views
0

bill_detailsテーブルのすべての請求書からすべての詳細を取得しようとしています。この詳細が属する請求書を識別する列があります(foreing key) 、私のクエリは次のようになります。Laravelのクエリービルダーが値によって2つの配列に返す分割stdClass /配列

このstclassまたは配列を返す
return $this 
      ->join('bill_detail as bd' , 'bills.id'   , '=', 'bd.bill_id') 
      ->join('business'   , 'bills.business_id' , '=', 'business.id') 
      ->select('bills.user_id','bd.item','bd.quantity','bd.amount','bd.bill_id','bills.total') 
      ->where('bills.user_id', '=', $user) 
      ->get(); 

(PHPでフォーマットさ):

array(4) { 
    [0]=> array(6) 
     { ["user_id"]=> int(1) ["item"]=> string(4) "Coffe" ["quantity"]=> int(1) ["amount"]=> string(4) "2.00" ["bill_id"]=> int(1) ["total"]=> string(5) "15.00" } 
    [1]=> array(6) 
     { ["user_id"]=> int(1) ["item"]=> string(18) "Water" ["quantity"]=> int(1) ["amount"]=> string(4) "6.00" ["bill_id"]=> int(1) ["total"]=> string(5) "15.00" } 
    [2]=> array(6) 
     { ["user_id"]=> int(1) ["item"]=> string(7) "Apple" ["quantity"]=> int(1) ["amount"]=> string(4) "1.00" ["bill_id"]=> int(2) ["total"]=> string(5) "23.00" } 
    [3]=> array(6) 
     { ["user_id"]=> int(1) ["item"]=> string(8) "Orange" ["quantity"]=> int(1) ["amount"]=> string(4) "4.00" ["bill_id"]=> int(2) ["total"]=> string(5) "23.00" } 
} 

マルチにこの配列を分割する任意の最適な方法ではなく、foreachのがありますbill_id列に基づく3次元配列?

ありがとうございました。

答えて

0

ええええええええええええええええええええええええええええええ投稿電話:してください。

$results = $this 
    ->join('bill_detail as bd' , 'bills.id'   , '=', 'bd.bill_id') 
    ->join('business'   , 'bills.business_id' , '=', 'business.id') 
    ->select('bills.user_id','bd.item','bd.quantity','bd.amount','bd.bill_id','bills.total') 
    ->where('bills.user_id', '=', $user) 
    ->get(); 

return collect($results)->groupBy('bill_id'); 
+0

これは、@ user3158900と大いに評価されました! –

関連する問題