Files
Additional/app/Models/Product.php
T
twotalesanimation 6de01c13c5 New Initial Commit
2025-12-09 12:04:54 +02:00

64 lines
1.2 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
class Product extends Model
{
protected $fillable = [
'category_id',
'name',
'slug',
'description',
'price',
'image',
'stock',
'featured',
'type'
];
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
if (empty($model->slug)) {
$model->slug = Str::slug($model->name);
}
});
static::updating(function ($model) {
if (empty($model->slug)) {
$model->slug = Str::slug($model->name);
}
});
}
public function category()
{
return $this->belongsTo(Category::class);
}
public function orderItems()
{
return $this->hasMany(OrderItem::class);
}
public function printStocks()
{
return $this->belongsToMany(PrintStock::class, 'product_print_stocks');
}
public function images()
{
return $this->hasMany(ProductImage::class)->orderBy('sort_order');
}
public function getRouteKeyName()
{
return 'slug';
}
}