'date' ]; public function sourceBranch() { return $this->belongsTo(Branch::class, 'source_branch_id'); } public function destinationBranch() { return $this->belongsTo(Branch::class, 'destination_branch_id'); } public function items() { return $this->hasMany(StockTransferItem::class); } public function getTransferDateAttribute($value) { return Carbon::parse($value)->format('d M, Y'); } public static function boot() { parent::boot(); static::creating(function ($model) { $number = StockTransfer::max('id') + 1; $model->reference_no = 'TRF-' . date('Ymd') . '-' . str_pad($number, 4, '0', STR_PAD_LEFT); }); } }