Как получить значение сетки laravel-admin?

Я хочу использовать сетку laravel добавить ссылку с product_id (не PK), чтобы открыть новое окно с вкладками iframe для поиска

Я пытался присвоить переменную из сетки, но он всегда говорит

Объект класса 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. как я могу получить $product_id от $ grid-> sn

2. как я могу установить маршрут к другой странице, например /admin/com/search/123 для поиска не редактировать

1 ответ

Все, что вам нужно сделать, это добавить display() перед link().

Предположим, что sn является вашим полем product_id (не PK), поэтому вы можете:

protected function grid()  
{
    ...
    $grid->column('com_num', __('com_num'))->display(function (){
        return '/admin/com/search/'.$this->sn;
    })->link();
    ...
}
  1. следует использовать дисплей

$grid->com_num(trans('admin.com_num'))->sortable()->display(function ($com_num) { return "sn}'>{$com_num}"; }));

Другие вопросы по тегам