// +---------------------------------------------------------------------- namespace App\Models; /** * 会员-模型 * @author wesmiler * @since 2020/11/11 * Class MemberModel * @package App\Models */ class MemberModel extends BaseModel { // 设置数据表 protected $table = 'member'; /** * 获取会员信息 * @param int $id 会员ID * @return array|string * @author wesmiler * @since 2020/11/11 */ public function getInfo($id) { $info = parent::getInfo($id); // TODO: Change the autogenerated stub if ($info) { // 头像 if ($info['avatar']) { $info['avatar'] = get_image_url($info['avatar']); } // 出生日期 if ($info['birthday']) { $info['age'] = $info['birthday']>0? max(0, date('Y') - date('Y',$info['birthday'])) : 0; $info['birthday'] = $info['birthday']? datetime($info['birthday']) : ''; } // 城市 if ($info['province_id'] && $info['city_id'] && $info['district_id']) { $city = []; $city[] = $info['province_id']; $city[] = $info['city_id']; $city[] = $info['district_id']; $info['city'] = $city; //$info['cityNames'] = $city; } } return $info; } /** * 僧人列表 * @param $params * @return array */ public function getSengrenList($params){ $page = isset($params['pageSize'])? intval($params['pageSize']) : PAGE; $pageSize = isset($params['pageSize'])? intval($params['pageSize']) : PERPAGE; $dataList = MemberModel::from('master as ms') ->leftJoin('member as m','m.id','=', 'ms.user_id') ->where(function($query) use($params){ $type = isset($params['type'])? intval($params['type']) : 0; if($type>0){ $query->where('ms.type',$type); } $onSiyuan = isset($params['on_siyuan'])? intval($params['on_siyuan']) : 0; if($onSiyuan>0){ $query->where('ms.on_siyuan',$onSiyuan); } $status = isset($params['status'])? $params['status'] : 0; if($status>0){ $query->where('ms.status', $status); }else{ $query->whereIn('ms.status', [1,2,3]); } $realname = isset($params['realname'])? trim($params['realname']) : ''; if(!empty($realname)){ $query->where('ms.realname','like',"%{$realname}%"); } }) ->select(['ms.id','m.avatar','ms.user_id','ms.realname','ms.reason','ms.type','ms.idcard_front','ms.idcard_back','ms.contact_phone','ms.master_type','ms.master_no','ms.on_siyuan','ms.siyuan','ms.siyuan_address','ms.status','ms.create_time','ms.update_time']) ->orderBy('ms.id','desc') ->paginate($pageSize); $dataList = $dataList? $dataList->toArray() : []; if($dataList){ foreach ($dataList['data'] as &$item) { $item['idcard_front'] = $item['idcard_front'] ? get_image_url($item['idcard_front']) : ''; $item['avatar'] = $item['avatar'] ? get_image_url($item['avatar']) : ''; $item['idcard_back'] = $item['idcard_back'] ? get_image_url($item['idcard_back']) : ''; $item['create_time'] = $item['create_time']? datetime($item['create_time'], 'Y-m-d H:i') : ''; } } return $dataList; } }