<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Location extends Model
{
    use HasFactory;
    use SoftDeletes;

    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = "location";

    protected $primaryKey = 'id';
    public $incrementing  = true;
    protected $fillable   = [
        "uuid",
        "name",
        "url",
        "public_comments",
        "images",
        "active",
        "rating",
        "added_by",
        "tags",
        "block_count",
        "silence_count",
        "created_at",
        "updated_at",
        "actions_count",
        "archive_links",
        "notes",
    ];

    public function scopeSearch($query, $search)
    {
        if (!$search) {
            return $query;
        }
        return $query->whereRaw('searchtext @@ to_tsquery(\'english\', ?)', [$search])
            ->orderByRaw('ts_rank(searchtext, to_tsquery(\'english\', ?)) DESC', [$search]);
    }
}
