как добавить действие с помощью кнопки html в latvel datatables 8. * - PullRequest
0 голосов
/ 17 декабря 2018

Я установил yajra laravel на свой проект, я пытаюсь добавить столбец действий с помощью кнопки html с id, я использую yajra laravel, это моя версия yajra laravel:

  • "yajra / laravel-datatables-buttons ":" 3. * "
  • " yajra / laravel-datatables-fractal ":" 1. * ",
  • " yajra / laravel-datatables-html ":"3. * ",
  • " yajra / laravel-datatables-oracle ":" 8. * "

Как добавить столбец Action с помощью кнопки html с идентификатором данных?

вот мой код для создания таблиц данных в laravel:

public function html()
    {
        $brands = Brands::select(array('brands.id','brands.name','brands.slug','brands.description','brands.logo','brands.published','brands.created_at','brands.updated_at'));
        return $this->builder()
                    ->columns($this->getColumns())
                    ->minifiedAjax()
//                    ->addAction(['width' => '80px'])
                    ->removeColumn('id')
                    ->addColumn($this->actionColumns())
                    ->parameters($this->getBuilderParameters());
    }

это мой полный код для создания таблиц в laravel: https://pastebin.com/v1qYGNjb

вот результат, доступный для данных: enter image description here

Я хочу добавить кнопку редактирования и удаления в столбце Действия, как это сделать с помощью latvel datatables 8?Я использую данные Laravel в качестве службы.

1 Ответ

0 голосов
/ 24 июля 2019
public function html()
    {
        $brands = Brands::select(array('brands.id','brands.name','brands.slug','brands.description','brands.logo','brands.published','brands.created_at','brands.updated_at'));
        return $this->builder()
                    ->columns($this->getColumns())
                    ->minifiedAjax()
//                    ->addAction(['width' => '80px'])
                    ->removeColumn('id')
                    ->addColumn('action',function ($data){
                return $this->getActionColumn($data);
            })
                    ->parameters($this->getBuilderParameters());
    }

/**
     * @param $data
     * @return string
     */
    protected function getActionColumn($data): string
    {
        $showUrl = route('admin.brands.show', $data->id);
        $editUrl = route('admin.brands.edit', $data->id);
        return "<a class='waves-effect btn btn-success' data-value='$data->id' href='$showUrl'><i class='material-icons'>visibility</i>Details</a> 
                        <a class='waves-effect btn btn-primary' data-value='$data->id' href='$editUrl'><i class='material-icons'>edit</i>Update</a>
                        <button class='waves-effect btn deepPink-bgcolor delete' data-value='$data->id' ><i class='material-icons'>delete</i>Delete</button>";
    }
  1. Измените метод addColumn () и следуйте этому коду.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...