Fix on varieties and articles joints

This commit is contained in:
Ludovic CANDELLIER
2020-06-28 22:43:50 +02:00
parent bd685d407a
commit d8f43dc2d6
2 changed files with 8 additions and 3 deletions

View File

@@ -12,15 +12,17 @@ class VarietiesDataTable extends DataTable
public function query(Variety $model) public function query(Variety $model)
{ {
$model = $model::with('specie')->select('botanic_varieties.*'); // $model = $model::with('specie')->withCount('Articles')->select('botanic_varieties.*');
$model = $model::joinRelations('Specie')->select('botanic_varieties.*','botanic_species.name as specie_name')->withCount('Articles');
return self::buildQuery($model); return self::buildQuery($model);
} }
protected function getColumns() protected function getColumns()
{ {
return [ return [
Column::make('specie.name')->title('Espèce'), Column::make('specie_name')->title('Espèce'),
Column::make('name')->title('Nom'), Column::make('name')->title('Nom'),
Column::make('articles_count')->title('Nb articles')->class('text-right'),
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }

View File

@@ -6,10 +6,13 @@ use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMedia; use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait; use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use Rinvex\Tags\Traits\Taggable; use Rinvex\Tags\Traits\Taggable;
use Fico7489\Laravel\EloquentJoin\Traits\EloquentJoin;
class Variety extends Model implements HasMedia class Variety extends Model implements HasMedia
{ {
use HasMediaTrait; use HasMediaTrait;
use EloquentJoin;
use Taggable;
protected $guarded = ['id']; protected $guarded = ['id'];
protected $table = 'botanic_varieties'; protected $table = 'botanic_varieties';
@@ -21,6 +24,6 @@ class Variety extends Model implements HasMedia
public function Articles() public function Articles()
{ {
return $this->belongsTo('App\Models\Shop\Article','id','model_id'); return $this->hasMany('App\Models\Shop\Article','model_id','id');
} }
} }