Files
opensem/app/Models/Shop/Category.php
Ludovic CANDELLIER 655f502279 Fix visible
2022-02-18 09:46:20 +01:00

64 lines
1.4 KiB
PHP

<?php
namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
// use Rinvex\Categories\Traits\Categorizable;
use Cesargb\Database\Support\CascadeDelete;
use Rinvex\Tags\Traits\Taggable;
use Wildside\Userstamps\Userstamps;
// use Kalnoy\Nestedset\NodeTrait;
use Rinvex\Categories\Models\Category as parentCategory;
class Category extends parentCategory
{
use CascadeDelete, Taggable, Userstamps;
protected $guarded = ['id'];
protected $table = 'categories';
public $translatable = ['name', 'description'];
protected $cascadeDeleteMorph = ['Articles'];
protected $fillable = [
'slug',
'name',
'visible',
'description',
NestedSet::LFT,
NestedSet::RGT,
NestedSet::PARENT_ID,
];
public function Articles()
{
return $this->morphedByMany(Article::class, 'categorizable');
}
public function ArticlesTagged()
{
return $this->tags->articles;
}
public function countArticlesTagged()
{
return $this->tags()->withCount('Articles');
}
public function scopeByCategory($query, $category_id)
{
return $query->where('category_id', $category_id);
}
public function scopeVisible($query)
{
return $query->where('visible', 1);
}
}