Add thumbs views in datatables with traits

This commit is contained in:
Ludovic CANDELLIER
2021-11-01 18:37:25 +01:00
parent ae20643879
commit 900da34b57
17 changed files with 127 additions and 106 deletions

View File

@@ -7,10 +7,13 @@ use Illuminate\Database\Eloquent\SoftDeletes;
use Wildside\Userstamps\Userstamps;
use Rinvex\Tags\Traits\Taggable;
use Spatie\MediaLibrary\HasMedia;
class Specie extends Model
use App\Traits\Model\Imageable;
class Specie extends Model implements HasMedia
{
use SoftDeletes, Taggable, UserStamps;
use Imageable, SoftDeletes, Taggable, UserStamps;
protected $guarded = ['id'];
protected $table = 'botanic_species';
@@ -22,12 +25,12 @@ class Specie extends Model
public function Genre()
{
return $this->belongsTo('App\Models\Botanic\Genre');
return $this->belongsTo(Genre::class);
}
public function Varieties()
{
return $this->hasMany('App\Models\Botanic\Variety');
return $this->hasMany(Variety::class);
}
public function Articles()
@@ -37,6 +40,6 @@ class Specie extends Model
public function scopeByName($query, $name)
{
return $query->where('name', $name);
return $query->where($this->table . '.name', $name);
}
}

View File

@@ -5,19 +5,16 @@ namespace App\Models\Botanic;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Rinvex\Tags\Traits\Taggable;
use Kirschbaum\PowerJoins\PowerJoins;
use Wildside\Userstamps\Userstamps;
use App\Traits\Model\Imageable;
class Variety extends Model implements HasMedia
{
use InteractsWithMedia, PowerJoins, SoftDeletes, Taggable, UserStamps;
use Imageable, PowerJoins, SoftDeletes, Taggable, UserStamps;
protected $guarded = ['id'];
protected $table = 'botanic_varieties';
@@ -36,13 +33,4 @@ class Variety extends Model implements HasMedia
{
return $this->morphToMany('App\Models\Shop\Tag', 'taggable');
}
public function registerMediaConversions(Media $media = null) : void
{
$this->addMediaConversion('thumb')->fit(Manipulations::FIT_CROP, 32, 32);
$this->addMediaConversion('mini')->fit(Manipulations::FIT_CROP, 96, 96);
$this->addMediaConversion('preview')->fit(Manipulations::FIT_CROP, 160, 160);
$this->addMediaConversion('normal')->fit(Manipulations::FIT_CROP, 480, 480);
// $this->addMediaConversion('zoom')->fit(Manipulations::FIT_CROP, 1200, 1200)->withResponsiveImages();
}
}

View File

@@ -4,7 +4,7 @@ namespace App\Models\Core;
use Exception;
use Illuminate\Database\Eloquent\Model;
use App\Traits\HasComments;
use App\Traits\Model\HasComments;
class Comment extends Model
{

View File

@@ -16,7 +16,7 @@ use Kirschbaum\PowerJoins\PowerJoins;
use Fico7489\Laravel\EloquentJoin\Traits\EloquentJoin;
use Wildside\Userstamps\Userstamps;
use App\Traits\HasComments;
use App\Traits\Model\HasComments;
class Article extends Model implements HasMedia
{
@@ -70,11 +70,9 @@ class Article extends Model implements HasMedia
return $query->where($this->table . '.id', $id);
}
public function scopeByCategory($query, $category_id)
public function scopeByAutocomplete($query, $str)
{
return $query->whereHas('categories', function ($query) use ($category_id) {
$query->where('id', $category_id);
});
return $query->where($this->table . '.name', 'LIKE', "%${str}%");
}
public function scopeByArticleNature($query, $id)
@@ -82,6 +80,13 @@ class Article extends Model implements HasMedia
return $query->where($this->table . '.article_nature_id', $id);
}
public function scopeByCategory($query, $category_id)
{
return $query->whereHas('categories', function ($query) use ($category_id) {
$query->where('id', $category_id);
});
}
public function scopeByProduct($query, $model)
{
return $query->where($this->table . '.product_type', $model);

View File

@@ -4,7 +4,7 @@ namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use App\Traits\HasComments;
use App\Traits\Model\HasComments;
class Offer extends Model
{

View File

@@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model;
use Znck\Eloquent\Traits\BelongsToThrough;
use App\Traits\HasComments;
use App\Traits\Model\HasComments;
class PriceList extends Model
{

View File

@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Model;
use Staudenmeir\EloquentHasManyDeep\HasRelationships;
use Kirschbaum\PowerJoins\PowerJoins;
use App\Traits\HasComments;
use App\Traits\Model\HasComments;
class Tariff extends Model
{

View File

@@ -4,7 +4,7 @@ namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use App\Traits\HasComments;
use App\Traits\Model\HasComments;
class Variation extends Model
{