Laravel-datatables: Datatables as Service adiciona colunas para mostrar, editar e excluir

Criado em 20 mar. 2016  ·  3Comentários  ·  Fonte: yajra/laravel-datatables

Resumo do problema ou solicitação de recurso

Estou planejando usar Datatables as Service e preciso adicionar as colunas Mostrar, Editar e Excluir. Encontrei um exemplo na documentação (http://datatables.yajrabox.com/eloquent/add-edit-remove-column), mas não consegui encontrar nenhum para 'Datatables as Service'

Detalhes do sistema

  • Versão do Laravel: 5.1
  • Versão do Laravel-Datatables: "yajra / laravel-datatables-oracle": "~ 6.0"

Comentários muito úteis

obteve a solução de outro problema.

public function ajax() {
        $query = $this->query();

        return $this->datatables
                        ->eloquent($this->query())
                        ->addColumn('action', function ($query) {
                            return '<a href="' . route("admin.districts.edit", $query->id) . '" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
                        })
                        ->make(true);
    }

Todos 3 comentários

obteve a solução de outro problema.

public function ajax() {
        $query = $this->query();

        return $this->datatables
                        ->eloquent($this->query())
                        ->addColumn('action', function ($query) {
                            return '<a href="' . route("admin.districts.edit", $query->id) . '" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
                        })
                        ->make(true);
    }

Olá Yajra, Preciso adicionar o botão Excluir e Editar com uma coluna diferente, mas estou usando a ação que usa apenas uma coluna. mostra o que eu faço ?? pode me ajudar

obteve a solução de outro problema.

public function ajax() {
        $query = $this->query();

        return $this->datatables
                        ->eloquent($this->query())
                        ->addColumn('action', function ($query) {
                            return '<a href="' . route("admin.districts.edit", $query->id) . '" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
                        })
                        ->make(true);
    }

Para qualquer um que obtém o HTML bruto impresso ao fazer isso, eu também tive que adicionar rawColumns ('ação') para evitar que o HTML fosse escapado, ou seja:

public function ajax() {
        $query = $this->query();

        return $this->datatables
                        ->eloquent($this->query())
                        ->addColumn('action', function ($query) {
                            return '<a href="' . route("admin.districts.edit", $query->id) . '" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
                        })
                        ->rawColumns(['action'])
                        ->make(true);
    }
Esta página foi útil?
0 / 5 - 0 avaliações