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

61 lines
2.3 KiB

<?php
namespace App\Admin\Controllers;
use App\Models\ProductHasUser; // 引入用户与商品关联模型
use Encore\Admin\Controllers\AdminController; // 引入管理控制器基类
use Encore\Admin\Form; // 引入表单构建器
use Encore\Admin\Grid; // 引入网格构建器
use Encore\Admin\Show; // 引入展示构建器
class ProductLikeController extends AdminController
{
/**
* 当前资源的标题.
*
* @var string
*/
protected $title = '商品喜好'; // 设置资源的标题为“商品喜好”
/**
* 创建网格构建器.
*
* @return Grid 返回网格实例
*/
protected function grid()
{
$grid = new Grid(new ProductHasUser); // 创建新的网格实例,基于 ProductHasUser 模型
$grid->model()->latest(); // 按照创建时间降序排列数据
// 定义网格的列
$grid->column('user_id', __('User id')); // 显示用户 ID
$grid->column('product_id', __('Product id')); // 显示商品 ID
$grid->column('user.name', '用户'); // 显示用户姓名
$grid->column('created_at', '收藏时间'); // 显示商品收藏的时间
$grid->column('product.name', '商品'); // 显示商品名称
$grid->column('product.price', '价格')->display(function ($price) {
// 显示商品价格,并附加原价
return $price . '/' . $this->product['original_price']; // 返回格式化的价格
});
$grid->column('product.thumb', '首图')->image('', 50, 50); // 显示商品缩略图,设置显示大小
// 禁用某些操作
$grid->disableActions(); // 禁用行操作按钮
$grid->disableCreateButton(); // 禁用创建按钮
$grid->disableBatchActions(); // 禁用批量操作按钮
// 定义过滤器
$grid->filter(function (Grid\Filter $filter) {
$filter->disableIdFilter(); // 禁用 ID 过滤器
$filter->like('user_id', '用户ID'); // 用户 ID 模糊查询
$filter->like('product_id', '商品ID'); // 商品 ID 模糊查询
$filter->like('user.name', '用户名'); // 用户名模糊查询
$filter->equal('product.name', '商品'); // 商品名称精确查询
});
return $grid; // 返回构建好的网格
}
}