Laravel-datatables: Les tables de données en tant que service ajoutent des colonnes à afficher, modifier et supprimer

Créé le 20 mars 2016  ·  3Commentaires  ·  Source: yajra/laravel-datatables

Résumé du problème ou de la demande de fonctionnalité

Je prévois d'utiliser Datatables as Service et je dois ajouter des colonnes Afficher, Modifier et Supprimer. J'ai trouvé un exemple dans la documentation (http://datatables.yajrabox.com/eloquent/add-edit-remove-column) mais je n'en ai trouvé aucun pour 'Datatables as Service'

Détails du système

  • Version Laravel : 5.1
  • Version Laravel-Datatables : "yajra/laravel-datatables-oracle": "~6.0"

Commentaire le plus utile

obtenu la solution d'un autre problème.

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);
    }

Tous les 3 commentaires

obtenu la solution d'un autre problème.

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);
    }

Bonjour Yajra, j'ai besoin d'ajouter des boutons de suppression et d'édition avec une colonne différente, mais j'utilise l'action, elle n'utilise qu'une seule colonne. montre ce que je fais ?? Pouvez-vous m'aider

obtenu la solution d'un autre problème.

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);
    }

Pour quiconque obtient le HTML brut imprimé en faisant cela, j'ai également dû ajouter rawColumns('action') pour empêcher le HTML de s'échapper, c'est-à-dire :

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);
    }
Cette page vous a été utile?
0 / 5 - 0 notes