pdv.backend/app/Models/ReturnDetail.php

63 lines
1.3 KiB
PHP

<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ReturnDetail extends Model
{
protected $fillable = [
'return_id',
'sale_detail_id',
'inventory_id',
'product_name',
'quantity_returned',
'unit_price',
'subtotal',
];
protected $casts = [
'unit_price' => 'decimal:2',
'subtotal' => 'decimal:2',
'quantity_returned' => 'integer',
];
/**
* Relación con devolución principal
*/
public function return()
{
return $this->belongsTo(Returns::class, 'return_id');
}
/**
* Relación con detalle de venta original
*/
public function saleDetail()
{
return $this->belongsTo(SaleDetail::class);
}
/**
* Relación con inventario
*/
public function inventory()
{
return $this->belongsTo(Inventory::class);
}
/**
* Seriales devueltos en este detalle
*/
public function serials()
{
return $this->hasMany(InventorySerial::class, 'return_detail_id');
}
/**
* Obtener números de serie devueltos
*/
public function getSerialNumbersAttribute(): array
{
return $this->serials()->pluck('serial_number')->toArray();
}
}