<?php
// ─────────────────────────────────────────────────────────────
// INSTRUCCIONES: Cada bloque es un archivo separado.
// Crea cada archivo en app/Models/ con el nombre indicado.
// ─────────────────────────────────────────────────────────────

// ══════════════════════════════════════════════════════════════
// ARCHIVO: app/Models/RecetaIngrediente.php
// ══════════════════════════════════════════════════════════════
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;

class RecetaIngrediente extends Model
{
    protected $fillable = ['receta_id', 'insumo_id', 'tipo', 'cantidad'];

    protected function casts(): array
    {
        return ['cantidad' => 'decimal:4'];
    }

    public function receta(): BelongsTo
    {
        return $this->belongsTo(Receta::class);
    }

    public function insumo(): BelongsTo
    {
        return $this->belongsTo(Insumo::class);
    }

    /** Costo de este ingrediente según cantidad */
    public function costoCalculado(): float
    {
        return round($this->cantidad * ($this->insumo->costo_unitario ?? 0), 4);
    }
}