UserLastCertifyFilter.php
1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
namespace App\ModelFilters;
use App\Support\ModelFilter;
use Arr;
use Illuminate\Database\Eloquent\Builder;
class UserLastCertifyFilter extends ModelFilter
{
/**
* @param int $sex
* @return void
*/
public function sex(int $sex): void
{
$this->whereHas('user', fn(Builder $builder) => $builder->where('sex', $sex));
}
/**
* @param string $name
* @return void
*/
public function nickName(string $name): void
{
$this->whereHas('user', fn(Builder $builder) => $builder->where('nick_name', 'like', '%' . $name . '%'));
}
/**
* @param string $name
* @return void
*/
public function realName(string $name): void
{
$this->whereHas('user', fn(Builder $builder) => $builder->where('real_name', 'like', '%' . $name . '%'));
}
/**
* @param array|int $status
* @return void
*/
public function status(array|int $status): void
{
$this->whereIn('status', Arr::wrap($status));
}
}