whereExists() public method

Add an exists clause to the query.
public whereExists ( Closure $callback, string $boolean = 'and', boolean $not = false )
$callback Closure
$boolean string
$not boolean
Beispiel #1
0
 /**
  * {@inheritdoc}
  */
 public function applyFilterConstraint(QueryBuilder $builder, $data)
 {
     if (empty($data)) {
         return;
     }
     $builder->whereExists(function ($q) use($data) {
         $this->initNestedQuery($q, $this->parseData($data));
     });
 }
Beispiel #2
0
 /**
  * Add an exists clause to the query.
  *
  * @param \Closure $callback
  * @param string $boolean
  * @param bool $not
  * @return $this 
  * @static 
  */
 public static function whereExists($callback, $boolean = 'and', $not = false)
 {
     return \Illuminate\Database\Query\Builder::whereExists($callback, $boolean, $not);
 }
Beispiel #3
0
 /**
  * Select users which have the required permission
  * @param \Illuminate\Database\Query\Builder $query
  * @param string $permission Permission to check
  */
 public function scopeWithPermission($query, $permission)
 {
     $query->whereExists(function ($query) use($permission) {
         $query->select(DB::Raw('1'))->from('permission_role')->whereRaw('permission_role.role_id = users.role_id')->where('permission_role.permission_id', '=', function ($query) use($permission) {
             $query->select('id')->from('permissions')->where('ime', '=', $permission);
         });
     });
 }
Beispiel #4
0
 /**
  * 
  * @param \Illuminate\Database\Query\Builder $query
  * @param int $user_id
  * @return \Illuminate\Database\Query\Builder
  */
 public function scopeWithUser($query, $user_id)
 {
     return $query->whereExists(function ($query) use($user_id) {
         $query->select(DB::Raw('1'))->from('predmet_user')->whereRaw('predmet_user.predmet_id = predmeti.id')->where('predmet_user.user_id', '=', $user_id);
     });
 }