Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.96 KB | None | 0 0
  1. public function scopeGetUserChats($query, $userId) {
  2.         /* this is the old code where i do not need is_blocked flag
  3.             return $query->where('user_one_id', $userId)
  4.                     ->orWhere('user_two_id', $userId);
  5.         */
  6.     //this is my new query
  7.         $a = $query->where('user_one_id', $userId)
  8.             ->orWhere('user_two_id', $userId)
  9.             ->join('users_blocks', function($q) {
  10.                 $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(''));
  11.                     })
  12.             ->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'));
  13.         //dd($a->toSql());
  14.                     return $a;
  15.  
  16.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement