/** * Limit titles to only ones current user added to given list. * * @param Illuminate\Database\Eloquent\Builder $query * @return Illuminate\Database\Eloquent\Builder */ public function scopeInUsersList($query, $name = 'favorite', $id = null) { if ($id) { return $query->whereHas('user', function ($q) use($id, $name) { $q->where('user_id', $id)->where($name, 1); }); } return $query; }
/** * This scope allows to retrive users with an specific permission * @param Illuminate\Database\Eloquent\Builder $query * @param string $permission * @return Illuminate\Database\Eloquent\Builder */ public function scopeWherePermissionIs($query, $permission = '') { return $query->whereHas('permissions', function ($permissionQuery) use($permission) { $permissionQuery->where('name', $permission); }); }