refactor: 优化日志分页查询性能

This commit is contained in:
2025-06-06 10:29:53 +08:00
parent 5a4897ebb2
commit d1711389dc

View File

@@ -4,6 +4,7 @@ declare (strict_types = 1);
namespace app\admin\controller\v1;
use app\admin\model\v1\SysOperateLog;
use app\admin\model\v1\SysUserModel;
/**
* 操作日志控制器
@@ -21,11 +22,15 @@ class OperateLog
'size/d'
]);
$logs = SysOperateLog::hasWhere('user', function($query) use($param) {
$logs = SysOperateLog::field([
'SysOperateLog.*',
'SysUserModel.username'
])
->hasWhere('user', function($query) use($param) {
if (!empty($param['operator'])) {
$query->where('username', 'like', "{$param['operator']}");
$query->where('username', 'like', "%{$param['operator']}%");
}
$query->field(['id', 'username']);
$query->withTrashed()->field(['id', 'username']);
})
->withSearch(['title', 'created_at'], [
'title' => $param['title'] ?? null,
@@ -36,7 +41,6 @@ class OperateLog
'list_rows' => $param['size'] ?? 10,
'page' => $param['page'] ?? 1,
])
->bindAttr('user', ['username'])
->hidden(['user_id', 'user']);
return success('获取成功', $logs);