Files
online.tbbank.gov.tm-larave…/app/Repos/Order/Loan/LoanOrderRepo.php
2024-05-06 17:13:38 +05:00

44 lines
906 B
PHP

<?php
namespace App\Repos\Order\Loan;
use App\Models\Branch\Branch;
use App\Repos\Order\OrderRepo;
use Closure;
use Illuminate\Database\Eloquent\Model;
class LoanOrderRepo
{
/**
* When model is being created
*/
public static function creating(): Closure
{
return function (mixed $model) {
$model->status = $model->status ?: OrderRepo::defaultStatus();
};
}
/**
* When model is created
*/
public static function created(): Closure
{
return function ($model) {
$model->update(['unique_id' => static::fillUniqueId($model)]);
};
}
/**
* Fill unique id
*/
public static function fillUniqueId(mixed $model): string
{
return sprintf(
'TB%s-%s',
Branch::find($model->branch_id)->unique_code ?? uniqid(),
$model->id,
);
}
}