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/CarController.php

94 lines
3.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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; // 返回配置好的表单实例
}
}