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);
}
}