You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.7 KiB
53 lines
1.7 KiB
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Models\ScoreLog; // 引入积分日志模型
|
|
use Encore\Admin\Controllers\AdminController; // 引入管理控制器基类
|
|
use Encore\Admin\Form; // 引入表单构建器
|
|
use Encore\Admin\Grid; // 引入网格构建器
|
|
use Encore\Admin\Show; // 引入展示构建器
|
|
|
|
class ScoreLogController extends AdminController
|
|
{
|
|
/**
|
|
* 当前资源的标题.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $title = '积分日志'; // 设置资源的标题为“积分日志”
|
|
|
|
/**
|
|
* 创建网格构建器.
|
|
*
|
|
* @return Grid 返回网格实例
|
|
*/
|
|
protected function grid()
|
|
{
|
|
$grid = new Grid(new ScoreLog); // 创建新的网格实例,基于 ScoreLog 模型
|
|
|
|
$grid->model()->latest(); // 按照创建时间降序排列数据
|
|
|
|
// 定义网格的列
|
|
$grid->column('id', __('Id')); // 显示日志 ID
|
|
$grid->column('user_id', __('User id')); // 显示用户 ID
|
|
$grid->column('user.name', '用户名'); // 显示用户名
|
|
$grid->column('description', __('Description')); // 显示日志描述
|
|
$grid->column('score', __('Score')); // 显示积分
|
|
$grid->column('created_at', __('Created at')); // 显示创建时间
|
|
$grid->column('updated_at', __('Updated at')); // 显示更新时间
|
|
|
|
// 禁用某些操作
|
|
$grid->disableActions(); // 禁用行操作按钮
|
|
$grid->disableCreateButton(); // 禁用创建按钮
|
|
|
|
// 定义过滤器
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->like('user.name', '用户名'); // 用户名模糊查询
|
|
$filter->equal('score', '积分'); // 积分精确查询
|
|
});
|
|
|
|
return $grid; // 返回构建好的网格
|
|
}
|
|
}
|