Files
LauckCycles/app/Models/Product.php
T
2025-12-09 19:44:20 -03:00

40 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory;
protected $guarded = [];
public function hasLowStock(): bool
{
return $this->stock_quantity <= $this->min_stock_alert;
}
public function supplier()
{
return $this->belongsTo(Supplier::class);
}
// Opción 1: Relación directa con los detalles (Renglones de ticket)
// Útil para saber cantidad total vendida: $product->saleDetails->sum('quantity')
public function saleDetails()
{
return $this->hasMany(SaleDetail::class);
}
// Opción 2 (Pro Tip): Relación directa con las Ventas a través de los detalles
// Útil para saber EN QUÉ fechas se vendió: $product->sales
public function sales()
{
return $this->belongsToMany(Sale::class, 'sale_details');
}
}
/**$user->sales: Te da la lista de todas las compras de ese usuario.
$product->saleDetails->count(): Te dice cuántas veces aparece ese producto en tickets.**/