I am new to laraval 4.
I have this query:
SELECT a.id, active, name, email, img_location, IFNULL(b.Total, 0) AS LeadTotal, IFNULL(c.Total, 0) AS InventoryTotal FROM users AS a LEFT JOIN ( SELECT user_id, count(*) as Total FROM lead_user GROUP BY user_id ) AS b ON a.id = b.user_id LEFT JOIN ( SELECT user_id, count(*) as Total FROM user_inventory GROUP BY user_id ) AS c ON a.id = c.user_id WHERE a.is_deleted = 0
how can i convert it to laravel query constructor? I am confused about how to use the laravel join query builder with this type of query.
thanks!
Answer!!
Will all petkostas help on the laravel forum. We have received an answer.
$users = DB::table('users AS a') ->select(array('a.*', DB::raw('IFNULL(b.Total, 0) AS LeadTotal'), DB::raw('IFNULL(c.Total, 0) AS InventoryTotal') ) ) ->leftJoin(DB::raw('(SELECT user_id, COUNT(*) as Total FROM lead_user GROUP BY user_id) AS b'), function( $query ){ $query->on( 'a.id', '=', 'b.user_id' ); }) ->leftJoin(DB::raw('(SELECT user_id, COUNT(*) as Total FROM user_inventory WHERE is_deleted = 0 GROUP BY user_id) AS c'), function( $query ){ $query->on( 'a.id', '=', 'c.user_id' ); }) ->where('a.is_deleted', '=', 0) ->get();
sql php mysql laravel-4
justin
source share