30 lines
929 B
PHP
30 lines
929 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace Modules\Core\Order\Models;
|
||
|
|
|
||
|
|
use Illuminate\Database\Eloquent\Model;
|
||
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||
|
|
use Lunar\Models\Order;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* One append-only row per write to Order::status (plus one synthetic
|
||
|
|
* 'paid' entry per Order::paid write — see
|
||
|
|
* Modules\Core\Order\Listeners\RecordStatusTransition) — see
|
||
|
|
* database/migrations/2026_09_11_000002_create_order_status_transitions_table.php
|
||
|
|
* and Modules\Core\Order\Services\OrderStatusTransitionRecorder, which is
|
||
|
|
* the only thing that ever creates a row. Never updated after creation —
|
||
|
|
* $timestamps is disabled since there's no updated_at column and
|
||
|
|
* created_at is DB-defaulted (`useCurrent()`), not Eloquent-managed.
|
||
|
|
*/
|
||
|
|
class OrderStatusTransition extends Model
|
||
|
|
{
|
||
|
|
public $timestamps = false;
|
||
|
|
|
||
|
|
protected $guarded = [];
|
||
|
|
|
||
|
|
public function order(): BelongsTo
|
||
|
|
{
|
||
|
|
return $this->belongsTo(Order::class);
|
||
|
|
}
|
||
|
|
}
|