Devise\Search\PageSearch::scopeSearch PHP Method

scopeSearch() public method

public scopeSearch ( $query, $search )
    public function scopeSearch($query, $search)
    {
        if (!$search) {
            return $query;
        }
        $query = $this->createSearchQuery($query, $search);
        // only show the languages that are active
        $language = App::make('Devise\\Languages\\LanguageDetector')->current();
        $query->where('language_id', $language->id);
        // exclude pages that don't have a live page version currently
        $now = new \DateTime();
        $query->where('dvs_page_versions.starts_at', '<', $now);
        $query->where(function ($query) use($now) {
            $query->where('dvs_page_versions.ends_at', '>', $now);
            $query->orWhereNull('dvs_page_versions.ends_at');
        });
        // make sure to only search on the latest version
        $query->join(\DB::raw('(SELECT MAX(starts_at) as max_starts, page_id FROM dvs_page_versions GROUP BY page_id) newest_version'), function ($join) {
            $join->on('newest_version.max_starts', '=', 'dvs_page_versions.starts_at');
            $join->on('newest_version.page_id', '=', 'dvs_page_versions.page_id');
        });
        return $query;
    }
PageSearch