mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-06 03:58:04 +08:00
54 lines
1.4 KiB
PHP
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);
|
|
}
|
|
} |