Files
opensem/app/Models/Shop/Category.php
2021-11-23 23:37:47 +01:00

49 lines
1.1 KiB
PHP

<?php
namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
// use Rinvex\Categories\Traits\Categorizable;
use Rinvex\Tags\Traits\Taggable;
use Fico7489\Laravel\EloquentJoin\Traits\EloquentJoin;
use Wildside\Userstamps\Userstamps;
class Category extends Model
{
use InteractsWithMedia, SoftDeletes, Taggable, Userstamps;
protected $guarded = ['id'];
protected $table = 'shop_categories';
public function Articles()
{
return $this->morphedByMany(Article::class, 'categorizable');
}
public function ArticlesTagged()
{
return $this->tags->articles;
}
public function Shelves()
{
return $this->morphedByMany(Category::class, 'categorizable');
}
public function CategoryTree()
{
return $this->belongsTo(app('rinvex.categories.category'), 'category_id');
}
public function scopeByCategory($query, $category_id)
{
return $query->where('category_id', $category_id);
}
}