Files
Paymenter-Version-Tracks/app/Models/Category.php
Muhammad Tamir 85c03cef82 v1.3.4
2025-11-14 10:57:49 +07:00

47 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use App\Observers\CategoryObserver;
use Illuminate\Database\Eloquent\Attributes\ObservedBy;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use OwenIt\Auditing\Contracts\Auditable;
#[ObservedBy(CategoryObserver::class)]
class Category extends Model implements Auditable
{
use \App\Models\Traits\Auditable, HasFactory;
protected $guarded = [];
/**
* Get the products of the category.
*/
public function products(): HasMany
{
return $this->hasMany(Product::class);
}
/**
* Get the parent category of the category.
*/
public function parent(): BelongsTo
{
return $this->belongsTo(Category::class, 'parent_id');
}
/**
* Get the children categories of the category.
*/
public function children(): HasMany
{
return $this->hasMany(Category::class, 'parent_id');
}
protected $auditExclude = [
'remember_token',
];
}