關係:收據的hasMany了LineItemLaravel 5.1複雜的關係查詢生成器
$columns = ['rece_id','rece_user_id','rece_name','rece_date']
$builder = Receipt::select($columns)
->with('lineItems')
->where('rece_user_id', Auth::user()->id)
dd($builder->get()->toArray());
上面的代碼給我收據與他們各自所有的相關的項目(所有列)。
我只需要第一個訂單項的一列,例如liit_description。 (我需要它作爲$columns
列表中的另一列)。
這是甚至可能與雄辯?
UPDATE
我解決它通過使用DB查詢來代替雄辯的(但我喜歡一個雄辯的解決辦法,如果有人能幫助)
$builder = DB::table('receipts')->select($columns)
->join('line_items', function ($join) {
$join->on('receipts.rece_id', '=', 'line_items.liit_rece_id');
})
->where('rece_user_id', Auth::user()->id)
;
如果這可以轉換成雄辯查詢,這將是有趣的。
爲什麼不使用 - > first()而不是get() – ClearBoth
@ClearBoth我需要所有的收據,但只有** first ** lineitem。 – karmendra