46 lines
1.4 KiB
PHP
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\Variety;
|
|
|
|
class VarietiesDataTable extends DataTable
|
|
{
|
|
public $model_name = 'varieties';
|
|
|
|
public function query(Variety $model)
|
|
{
|
|
// $model = $model::with('specie')->withCount('Articles')->select('botanic_varieties.*');
|
|
$model = $model::joinRelationship('Specie')->select('botanic_varieties.*', 'botanic_species.name as specie_name')->with('Specie')->withCount('Articles');
|
|
return $this->buildQuery($model);
|
|
}
|
|
|
|
|
|
public function modifier($datatables)
|
|
{
|
|
$datatables
|
|
->editColumn('photo', function (Variety $variety) {
|
|
$media = $variety->getFirstMedia();
|
|
// dump($media);
|
|
// return $media('thumb');
|
|
return '';
|
|
})
|
|
->rawColumns(['photo', 'action']);
|
|
return parent::modifier($datatables);
|
|
}
|
|
|
|
|
|
protected function getColumns()
|
|
{
|
|
return [
|
|
Column::make('Specie.name')->data('specie_name')->title('Espèce'),
|
|
Column::make('name')->title('Nom'),
|
|
Column::make('articles_count')->title('Nb articles')->class('text-right')->searchable(false),
|
|
Column::make('photo')->title('')->searchable(false)->orderable(false),
|
|
$this->makeColumnButtons(),
|
|
];
|
|
}
|
|
}
|