ThinkAdmin/app/admin/model/SystemUser.php
2021-07-29 16:13:11 +08:00

54 lines
1.4 KiB
PHP

<?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 (count($data) > 0) {
$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);
}
}