| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace app\admin\model;
- use think\Model;
- /**
- * 系统用户数据模型
- * Class SystemUser
- * @package app\admin\model
- */
- class SystemUser extends Model
- {
- /**
- * 获取用户数据
- * @param array $map 数据查询规则
- * @param array $data 用户数据集合
- * @param string $field 原外连字段
- * @param string $target 关联目标字段
- * @param string $fields 关联数据字段
- * @return array
- */
- public function items(array $map, array &$data = [], string $field = 'uuid', string $target = 'user_info', string $fields = 'username,nickname,headimg,status,is_deleted'): array
- {
- $query = $this->where($map)->order('sort desc,id desc');
- if (!empty($data)) {
- $users = $query->whereIn('id', array_unique(array_column($data, $field)))->column($fields, 'id');
- foreach ($data as &$vo) {
- $vo[$target] = $users[$vo[$field]] ?? [];
- }
- return $users;
- } else {
- return $query->column($fields, 'id');
- }
- }
- /**
- * 格式化登录时间
- * @param string $value
- * @return string
- */
- public function getLoginAtAttr(string $value): string
- {
- return format_datetime($value);
- }
- /**
- * 格式化创建时间
- * @param string $value
- * @return string
- */
- public function getCreateAtAttr(string $value): string
- {
- return format_datetime($value);
- }
- }
|