mirror of
https://gitee.com/ctexthuang/hyperf_rbac_framework_server_ctexthuang.git
synced 2025-12-25 19:27:48 +08:00
fix : first finish
This commit is contained in:
@@ -11,8 +11,28 @@ declare(strict_types=1);
|
||||
namespace App\Common\Repository;
|
||||
|
||||
use App\Model\AdminRole;
|
||||
use Hyperf\Collection\Arr;
|
||||
use Hyperf\Database\Model\Builder;
|
||||
|
||||
final class AdminRoleRepository extends BaseRepository
|
||||
{
|
||||
public function __construct(protected readonly AdminRole $model) {}
|
||||
|
||||
/**
|
||||
* @param Builder $query
|
||||
* @param array $params
|
||||
* @return Builder
|
||||
*/
|
||||
public function handleSearch(Builder $query, array $params): Builder
|
||||
{
|
||||
return $query->when(Arr::get($params, 'name'), static function (Builder $query, $name) {
|
||||
$query->where('name', 'like', '%' . $name . '%');
|
||||
})->when(Arr::get($params, 'code'), static function (Builder $query, $code) {
|
||||
$query->whereIn('code', Arr::wrap($code));
|
||||
})->when(Arr::has($params, 'status'), static function (Builder $query) use ($params) {
|
||||
$query->where('status', $params['status']);
|
||||
})->when(Arr::get($params, 'created_at'), static function (Builder $query, $createdAt) {
|
||||
$query->whereBetween('created_at', $createdAt);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user