我有一个mysql查询,我想将它们传递给laravel,但我不知道如何在laravel中使用AND。
MySQL的:
SELECT * FROM `items_sizes` left join `items` on `items_sizes`.`id_item` = `items`.`id` left join `budget__items` on `items_sizes`.`id` = `budget__items`.`id_itemSize` and `budget__items`.`id_budget` = 1 where `items`.`active` = 1 and `budget__items`.`id_budget` is null order by `items_sizes`.`updated_at` asc
Laravel:
$itemsSizes = ItemsSize::leftJoin('items', 'items_sizes.id_item', '=','items.id')
->leftJoin('budget__items','items_sizes.id', '=', 'budget__items.id_itemSize')
->*AND*('budget__items.id_budget', '=', $id)
->where('items.active', '=', 1)
->whereNull('budget__items.id_budget')
->orderBy('items_sizes.updated_at', 'asc')
感谢的
答案 0 :(得分:0)
请尝试以下方法:
$itemsSizes = ItemsSize::leftJoin('items', 'items_sizes.id_item', '=','items.id')
->leftJoin('budget__items', function($join) use($id) {
$join->on('items_sizes.id', '=', 'budget__items.id_itemSize')
->where('budget__items.id_budget', '=', $id);
})
->where('items.active', '=', 1)
->whereNull('budget__items.id_budget')
->orderBy('items_sizes.updated_at', 'asc');