new-admin-api/app/common/dao/system/merchant/MerchantShareholderDao.php

63 lines
2.1 KiB
PHP

<?php
namespace app\common\dao\system\merchant;
use app\common\dao\BaseDao;
use app\common\model\system\merchant\MerchantShareholder;
use app\common\repositories\user\UserRepository;
class MerchantShareholderDao extends BaseDao{
protected function getModel(): string{
return MerchantShareholder::class;
}
/**
* Common: 公共查询模型
* Author: wu-hui
* Time: 2024/06/13 11:31
* @param array $params
* @return MerchantShareholder
*/
public function searchModel(array $params){
return (new MerchantShareholder())
->when(isset($params['id']) && $params['id'] !== '',function($query) use ($params){
$query->where('id', (int)$params['id']);
})
->when(isset($params['uid']) && $params['uid'] !== '',function($query) use ($params){
$query->where('uid', (int)$params['uid']);
})
->when(isset($params['mer_id']) && $params['mer_id'] !== '',function($query) use ($params){
$query->where('mer_id', (int)$params['mer_id']);
})
->when(isset($params['level_id']) && $params['level_id'] !== '',function($query) use ($params){
$query->where('level_id', (int)$params['level_id']);
})
->when(isset($params['status']) && $params['status'] !== '',function($query) use ($params){
$query->where('status', (int)$params['status']);
})
->when(isset($params['search_text']) && $params['search_text'] !== '',function($query) use ($params){
$uids = app()
->make(UserRepository::class)
->getSearch([])
->where('uid|nickname|phone','like',"%{$params['search_text']}%")
->column('uid');
$query->whereIn('uid', $uids);
})
->with([
'user' => function($query){
$query->field('uid,nickname,avatar,phone');
}
])
->order('create_time DESC,id DESC');
}
}