关系:收据的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