首页 > 解决方案 > 如何获取 laravel-admin 网格值

问题描述

我想使用 laravel 网格添加一个带有 product_id (不是 PK)的链接来打开带有 iframe-tabs 的新窗口进行搜索

我试过从网格分配变量,但它总是说

Encore\Admin\Grid\Column 类的对象无法转换为字符串

protected function grid()  
{

  $userModel = config('admin.database.pm_model');

  $grid = new Grid(new $userModel());
  $grid->id('ID')->sortable();
  $grid->sn(trans('admin.product_id'))->sortable();
  $product_id = $grid->sn(trans('admin.product_id'))->value();

  $grid->com_num(trans('admin.com_num'))->sortable()->link( 
      '/admin/com/search/'.$product_id,'','' );

1.如何从 $grid->sn 获取 $product_id

2.如何设置路由到其他页面,如 /admin/com/search/123 以进行搜索而不是编辑

标签: phplaravelroutesgridlaravel-admin

解决方案


您需要做的就是在 link() 之前添加 display()。

假设sn是您的 product_id 字段(不是 PK),因此您可以这样做:

protected function grid()  
{
    ...
    $grid->column('com_num', __('com_num'))->display(function (){
        return '/admin/com/search/'.$this->sn;
    })->link();
    ...
}

推荐阅读