<?php
declare(strict_types=1);
namespace App\Filters;
use Illuminate\Database\Eloquent\Builder;
class SitesFilter extends QueryFilter
{
public function q(string $text = null)
{
return $this->builder->when(
$text,
static function (Builder $query) use ($text) {
$text = '%' . $text . '%';
$query
->where('title', 'LIKE', $text)
->orWhere('url', 'LIKE', $text)
->orWhereHas('manager', static function ($query) use ($text) {
$query->where('name', 'LIKE', $text);
});
}
);
}
public function title(string $title = null)
{
return $this->builder->when(
$title,
static function (Builder $query) use ($title) {
$query->where('title', $title);
}
);
}
}