GOOD SHELL MAS BOY
Server: Apache/2.4.52 (Ubuntu)
System: Linux vmi1836763.contaboserver.net 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64
User: www-data (33)
PHP: 8.4.10
Disabled: NONE
Upload Files
File: /var/www/api.ayokah.co.uk/app/Models/Product.php
<?php

namespace App\Models;

use Illuminate\Support\Str;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;

class Product extends Model
{
    use HasFactory;
    protected static function boot()
    {
        parent::boot();

        static::creating(function ($model) {
            if (empty($model->uuid)) {
                $model->uuid = (string) Str::uuid();
            }
        });
    }

    protected $keyType = 'string';
    public $incrementing = true;
    
    protected $fillable = [
        'seller_id',
        'user_id',
        'category_id',
        'name',
        'slug',
        'description',
        'short_description',
        'price',
        'old_price',
        'quantity',
        'front_img',
        'back_img',
        'other_img',
        'front_public_id',
        'back_public_id',
        'other_public_id',
        'weight',
        'height',
        'width',
        'length',
        'sales_type',
        'duration',
        'sku',
        'status',
        'view',
        'uuid',
        'seller_type',
    ];

    protected $table = 'products';

    public function variations()
    {
        return $this->hasMany(ProductVariation::class);
    }


    public function seller()
    {
        return $this->belongsTo(Seller::class, 'seller_id');
    }

    public function user()
    {
        return $this->belongsTo(Seller::class, 'user_id');
    }

    public function category()
    {
        return $this->belongsTo(Category::class, 'category_id');
    }

    public function coupons()
    {
        return $this->hasMany(Coupon::class);
    }
}