Как получить значение сетки 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();
...
}
- следует использовать дисплей
$grid->com_num(trans('admin.com_num'))->sortable()->display(function ($com_num) { return "sn}'>{$com_num}"; }));