ledgerrz/app/Models/Mutation.php
2026-06-15 01:03:38 +02:00

47 lines
995 B
PHP

<?php
namespace App\Models;
use Database\Factories\MutationFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphOne;
class Mutation extends Model
{
/** @use HasFactory<MutationFactory> */
use HasFactory;
protected $fillable = [
'ledger_id',
'user_id',
'type',
'amount',
'description',
'status',
];
public function ledger(): BelongsTo
{
return $this->belongsTo(Ledger::class);
}
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
public function chat(): MorphOne
{
return $this->morphOne(Chat::class, 'chatable');
}
protected static function booted(): void
{
static::created(function (Mutation $mutation) {
$mutation->chat()->create([]);
});
}
}