Files
postshop-backend/app/Models/Legal/User/EntrepreneurDocs.php
2026-02-03 15:31:29 +05:00

75 lines
1.7 KiB
PHP

<?php
namespace App\Models\Legal\User;
use App\Models\Concerns\HasSchemalessAttributes;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Spatie\Translatable\HasTranslations;
class EntrepreneurDocs extends Model
{
use HasFactory;
use HasSchemalessAttributes;
use HasTranslations;
/**
* The table associated with the model.
*/
protected $table = 'entrepreneur_docs';
/**
* The attributes that are mass assignable.
*
* @var array<string>
*/
protected $fillable = [
'corporation_type',
'corporation_name',
'options',
'user_id',
];
/**
* Translatable fields
*
* @var array<string>
*/
public $translatable = ['corporation_name'];
/**
* User, Document owner, Entrepreneur
*/
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
/**
* Formatted corporation type
*/
protected function formattedCorporationType(): Attribute
{
return Attribute::make(
get: fn () => match ($this->corporation_type) {
'hk' => __('Private enterprise'),
'hj' => __('Partnership enterprise'),
default => __('Entrepreneur')
}
);
}
/**
* Corporatoin name full name: "Web ulgam" HJ
*/
protected function formattedCorporationName(): Attribute
{
return Attribute::make(
get: fn () => $this->corporation_name.' '.$this->formatted_corporation_type
);
}
}