|
|
<?php
|
|
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
|
|
use App\Models\Car; // 引入 Car 模型
|
|
|
use Encore\Admin\Controllers\AdminController; // 引入 AdminController 作为基类
|
|
|
use Encore\Admin\Form; // 引入表单构建类
|
|
|
use Encore\Admin\Grid; // 引入网格(列表)构建类
|
|
|
use Encore\Admin\Show; // 引入详情展示类
|
|
|
|
|
|
class CarController extends AdminController
|
|
|
{
|
|
|
/**
|
|
|
* 当前资源的标题(在界面上显示)
|
|
|
*
|
|
|
* @var string
|
|
|
*/
|
|
|
protected $title = '购物车数据'; // 设置控制器的标题为 "购物车数据"
|
|
|
|
|
|
/**
|
|
|
* 创建网格(列表)视图.
|
|
|
*
|
|
|
* @return Grid
|
|
|
*/
|
|
|
protected function grid()
|
|
|
{
|
|
|
$grid = new Grid(new Car); // 实例化 Grid,使用 Car 模型作为数据源
|
|
|
|
|
|
// 定义要在网格中显示的列
|
|
|
$grid->column('id', __('Id')); // ID 列
|
|
|
$grid->column('user_id', __('User id')); // 用户 ID 列
|
|
|
$grid->column('product_id', __('Product id')); // 商品 ID 列
|
|
|
|
|
|
// 显示用户和商品的名称,假设它们通过 Eloquent 关系关联
|
|
|
$grid->column('user.name', '用户'); // 用户名称列
|
|
|
$grid->column('product.name', '商品'); // 商品名称列
|
|
|
$grid->column('number', __('Number')); // 数量列
|
|
|
|
|
|
$grid->column('created_at', '收藏时间'); // 创建时间列
|
|
|
|
|
|
// 禁用默认操作按钮和创建按钮
|
|
|
$grid->disableActions(); // 禁用行操作按钮
|
|
|
$grid->disableCreateButton(); // 禁用创建按钮
|
|
|
|
|
|
// 添加过滤条件设置
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
|
$filter->equal('user_id', '用户ID'); // 精确匹配用户 ID
|
|
|
$filter->equal('product_id', '商品ID'); // 精确匹配商品 ID
|
|
|
$filter->like('user.name', '用户名'); // 用户名模糊查询
|
|
|
$filter->like('product.name', '商品'); // 商品名称模糊查询
|
|
|
});
|
|
|
|
|
|
return $grid; // 返回配置好的网格实例
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建详情显示视图.
|
|
|
*
|
|
|
* @param mixed $id
|
|
|
* @return Show
|
|
|
*/
|
|
|
protected function detail($id)
|
|
|
{
|
|
|
$show = new Show(Car::findOrFail($id)); // 获取指定 ID 的 Car 实例,并实例化 Show 类
|
|
|
|
|
|
// 定义要在详情页面中显示的字段
|
|
|
$show->field('id', __('Id')); // 显示 ID 字段
|
|
|
$show->field('number', __('Number')); // 显示数量字段
|
|
|
$show->field('product_id', __('Product id')); // 显示商品 ID 字段
|
|
|
$show->field('user_id', __('User id')); // 显示用户 ID 字段
|
|
|
$show->field('created_at', __('Created at')); // 显示创建时间字段
|
|
|
$show->field('updated_at', __('Updated at')); // 显示更新时间字段
|
|
|
|
|
|
return $show; // 返回 Show 实例
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建表单用于添加或编辑数据.
|
|
|
*
|
|
|
* @return Form
|
|
|
*/
|
|
|
protected function form()
|
|
|
{
|
|
|
$form = new Form(new Car); // 创建一个新的 Form 实例,用于 Car 模型的数据
|
|
|
|
|
|
// 定义表单字段
|
|
|
$form->number('number', __('Number'))->default(1); // 数量字段,默认为 1
|
|
|
$form->number('product_id', __('Product id')); // 商品 ID 字段
|
|
|
$form->number('user_id', __('User id')); // 用户 ID 字段
|
|
|
|
|
|
return $form; // 返回配置好的表单实例
|
|
|
}
|
|
|
}
|