Files
opensem/app/Datatables/Botanic/SpeciesDataTable.php
Ludovic CANDELLIER e8d503b65d Minor fixes on traits
2021-11-01 18:50:17 +01:00

46 lines
1.4 KiB
PHP

<?php
namespace App\Datatables\Botanic;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Botanic\Specie;
use App\Repositories\Botanic\Species;
class SpeciesDataTable extends DataTable
{
public $model_name = 'species';
public function query(Specie $model)
{
$model = $model::withCount('varieties')->with(['genre','image']);
return $this->buildQuery($model);
}
public function modifier($datatables)
{
$datatables
->editColumn('thumb', function (Specie $specie) {
return Species::getThumb($specie->image);
})
->editColumn('genre_name', function (Specie $specie) {
return $specie->genre ? $specie->genre->name : '';
})
->rawColumns(['thumb', 'genre_name', 'action']);
return parent::modifier($datatables);
}
protected function getColumns()
{
return [
Column::make('name')->title('Nom'),
Column::make('thumb')->title('')->searchable(false)->orderable(false)->width(40)->class('text-center'),
Column::make('alias'),
Column::make('genre.name')->data('genre_name')->title('Genre'),
Column::make('latin'),
Column::make('varieties_count')->title('Nb variétés')->searchable(false)->addClass('text-right'),
$this->makeColumnButtons(),
];
}
}