如何在Laravel中编写这个sql、left join、sum查询?如何在Laravel中使用带有左联接的sum



我想用laravel,写这个查询

我的表格结构是

有一个用户id$user_id=身份验证::id((;

购物车->ID|USER_ID|FOOD_ID|数量|状态

食物->ID |名称|价格

SELECT sum(food.price*carts.quantity) as total 
from carts  
left join food on carts.food_id=food.id 
where user_id=$user_id and status='0'

您也可以尝试这种方式:

$res = DB::table('carts')
->select(DB::Raw('SUM(food.price*carts.quantity) AS total'))
->leftJoin('food', 'carts.food_id', 'foods.id')
->where('carts.user_id', $user_id)
->where('carts.status', 0)
->first();

使用查询生成器:

$amount = DB::table('carts')
->where('carts.user_id', $user)
->where('carts.status', '!=', 0)
->leftJoin('foods', 'carts.food_id', 'foods.id')
->sum(DB::raw('carts.quantity * foods.price'));

最新更新