mysql 左表连接右表查询,当右表关联数据没有,查询所有左表结果怎么显示

项目表+订单表,需要查询所有项目的订单总额,现在订单表没有status=1的数据的话,查询结果就不显示所有项目

Project::leftjoin('orders','orders.project_id','=','project.id')
->where('project.status',1)
->where('orders.status',1)
->selectRaw('project.id,project.name,sum(orders.total) as total_money')
->groupBy('project.id')
->orderByDesc('total_money')
->paginate(10);

阅读 4.8k
1 个回答
Project::leftjoin('orders', function($join) {
        $join->on('orders.project_id','=','project.id');
        $join->where('orders.status', 1);
    })
    ->where('project.status',1)
    ->selectRaw('project.id,project.name,sum(orders.total) as total_money')
    ->groupBy('project.id')
    ->orderByDesc('total_money')
    ->paginate(10);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题