Files
nomina_ventas/app/Models/DailySale.php

67 lines
1.4 KiB
PHP
Executable File

<?php
namespace App\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(['user_id', 'month_id', 'date', 'user_sales', 'system_sales'])]
class DailySale extends Model
{
use HasFactory;
protected $table = 'daily_sales';
/**
* Los atributos que son asignables en masa.
*
* @var array<int, string>
*/
protected $fillable = [
'user_id',
'month_id',
'date',
'user_sales',
'system_sales',
];
/**
* Los atributos que deben ser convertidos.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'date' => 'date',
'user_sales' => 'decimal:2',
'system_sales' => 'decimal:2',
];
}
/**
* Relación con usuario
*/
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
/**
* Relación con mes
*/
public function month(): BelongsTo
{
return $this->belongsTo(Month::class);
}
/**
* Obtener la diferencia entre ventas usuario y sistema
*/
public function getDifferenceAttribute(): float
{
return $this->user_sales - $this->system_sales;
}
}