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.
aquaculture/app/Admin/Controllers/ScoreLogController.php

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; // 返回构建好的网格
}
}