b2in/app/Models/Category.php
2026-02-20 17:57:50 +01:00

45 lines
941 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Category extends Model
{
use HasFactory;
protected $fillable = [
'parent_id',
'name',
'slug',
'description',
];
/**
* Übergeordnete Kategorie.
*/
public function parent(): BelongsTo
{
return $this->belongsTo(self::class, 'parent_id');
}
/**
* Untergeordnete Kategorien.
*/
public function children(): HasMany
{
return $this->hasMany(self::class, 'parent_id');
}
/**
* Produkte in dieser Kategorie.
*/
public function products(): BelongsToMany
{
return $this->belongsToMany(Product::class);
}
}