Created
April 1, 2018 21:59
-
-
Save hoodasaad/10533a780341bae7900514e0e9dcdaec to your computer and use it in GitHub Desktop.
Laravel Select Multiple Counts with multiple joins >> without leftJoin , GoupBy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$prefix = Config::get('database.connections.mysql.prefix'); | |
$posts = App\Post::select( | |
'post.title' | |
,'post.pskey' | |
,'post.phone' | |
,'post.show_map' | |
,'post.publish_at' | |
,'city.city' | |
,'city_alias.alias as city_alias' | |
,'post_alias.alias' | |
,'category.title as category_title' | |
,'category.comments as category_comments' | |
,'category_alias.alias as category_alias' | |
,'user.name as user_name' | |
,DB::raw("(SELECT COUNT(alias_id) FROM {$prefix}visit_alias WHERE {$prefix}visit_alias.alias_id = {$prefix}post.alias_id) AS visits") | |
,DB::raw("(SELECT COUNT(post_id) FROM {$prefix}post_comment WHERE {$prefix}post_comment.post_id = {$prefix}post.post_id AND {$prefix}post_comment.status = 1) AS comments") | |
,DB::raw("(SELECT COUNT(alias_id) FROM {$prefix}favorite WHERE {$prefix}favorite.alias_id = {$prefix}post.alias_id AND {$prefix}favorite.status = 1) AS favorites") | |
) | |
->join('category','category.category_id','=','post.category_id') | |
->join('city','city.city_id','=','post.city_id') | |
->join('user','user.user_id','=','post.user_id') | |
->join('alias as category_alias','category_alias.alias_id','=','category.alias_id') | |
->join('alias as post_alias','post_alias.alias_id','=','post.alias_id') | |
->join('alias as city_alias','city_alias.alias_id','=','city.alias_id') | |
; | |
/* ------ continue with your custom sql ------ */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment