1
0
Fork 0
owl-admin-starter/app/ModelFilters/UserFilter.php

36 lines
897 B
PHP

<?php
namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter;
class UserFilter extends ModelFilter
{
/**
* Related Models that have ModelFilters as well as the method on the ModelFilter
* As [relationMethod => [input_key1, input_key2]].
*
* @var array
*/
public $relations = [];
public function search($key)
{
$str = '%'.$key.'%';
return $this->where(fn($q) => $q->where('phone', 'like', $str)->orWhere('name', 'like', $str));
}
public function createdRange($key)
{
$keys = explode(',', $key);
$start = data_get($keys, 0);
$end = data_get($keys, 1);
if ($start && $end) {
$start = Carbon::createFromTimestamp($start);
$end = Carbon::createFromTimestamp($end);
return $this->whereBetween('created_at', [$start, $end]);
}
}
}