app\models\Beatmapset::searchDB PHP Метод

searchDB() публичный статический Метод

public static searchDB ( array $params = [] )
$params array
    public static function searchDB(array $params = [])
    {
        extract($params);
        $count = config('osu.beatmaps.max', 50);
        $offset = max(0, $page - 1) * $count;
        $query = self::where('title', 'like', '%' . $query . '%');
        if ($mode) {
            $query = $query->whereHas('beatmaps', function ($query) use(&$mode) {
                $query->where('playmode', '=', $mode);
            });
        }
        if ($genre) {
            $query->where('genre_id', '=', $genre);
        }
        if ($language) {
            $query->where('language_id', '=', $language);
        }
        if ($extra) {
            foreach ($extra as $val) {
                if ($val === '0') {
                    $query->where('video', '=', 1);
                }
                if ($val === '1') {
                    $query->where('storyboard', '=', 1);
                }
            }
        }
        return $query->take($count)->skip($offset)->orderBy($sort_field, $sort_order)->get()->pluck('beatmapset_id')->toArray();
    }