Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
861 views
in Technique[技术] by (71.8m points)

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);


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
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);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...