Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function scopeGetUserChats($query, $userId) {
- /* this is the old code where i do not need is_blocked flag
- return $query->where('user_one_id', $userId)
- ->orWhere('user_two_id', $userId);
- */
- //this is my new query
- $a = $query->where('user_one_id', $userId)
- ->orWhere('user_two_id', $userId)
- ->join('users_blocks', function($q) {
- $q->on(app('db')->raw('(users_blocks.user_id = chats.user_one_id and users_blocks.blocked_user_id = chats.user_two_id) or (users_blocks.user_id = chats.user_two_id and users_blocks.blocked_user_id = chats.user_one_id)'), app('db')->raw(''), app('db')->raw(''));
- })
- ->select('chats.id as chat_id', 'users_blocks.id as users_b_id', 'users_blocks.user_id', 'users_blocks.blocked_user_id', app('db')->raw('(CASE WHEN users_blocks.id IS NOT null then 1 else 0) as is_blocked'));
- //dd($a->toSql());
- return $a;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement