refactor: 优化日志分页查询性能
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user