Add ProductVariant model and migration for productos_variantes table

This commit is contained in:
2026-06-24 11:41:42 -03:00
parent 696010a70e
commit 8e343ea9c3
3 changed files with 88 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
#[Fillable([
'tenant_codigo',
@@ -39,4 +40,12 @@ class Product extends Model
{
return $this->belongsTo(Tenant::class, 'tenant_codigo', 'codigo');
}
/**
* @return HasMany<ProductVariant, $this>
*/
public function variants(): HasMany
{
return $this->hasMany(ProductVariant::class, 'producto_id');
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace App\Domains\Catalog\Models;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
#[Fillable([
'producto_id',
'slug',
'nombre',
'stock',
'descripcion',
'precio',
])]
class ProductVariant extends Model
{
use HasFactory;
protected $table = 'productos_variantes';
protected function casts(): array
{
return [
'producto_id' => 'integer',
'stock' => 'integer',
'precio' => 'decimal:2',
];
}
/**
* @return BelongsTo<Product, $this>
*/
public function product(): BelongsTo
{
return $this->belongsTo(Product::class, 'producto_id');
}
}