File manager - Edit - /var/www/html/portalHomolog/app/Models/Accounts/Cronogramas/ActivityResponsible.php
Back
<?php namespace App\Models\Accounts\Cronogramas; use App\Enums\Accounts\Cronogramas\CronogramaResponsibleType; use App\Models\Empresa; use App\Models\Structure; use App\Models\UnidadeOrganizacional; use App\Models\User; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Support\Str; use DateTimeInterface; /** * Vínculo polimórfico entre atividade e responsável (pessoa, empresa, órgão ou * unidade organizacional). Permite múltiplos responsáveis por atividade. */ class ActivityResponsible extends Model { protected $connection = 'mysql'; public $incrementing = false; protected $keyType = 'string'; protected $table = 'cr_activity_responsibles'; protected $fillable = [ 'id', 'activity_id', 'responsible_type', 'responsible_id', ]; public static function boot(): void { parent::boot(); Relation::morphMap([ CronogramaResponsibleType::User->value => User::class, CronogramaResponsibleType::Empresa->value => Empresa::class, CronogramaResponsibleType::Structure->value => Structure::class, CronogramaResponsibleType::Unidade->value => UnidadeOrganizacional::class, ]); static::creating(function (self $model): void { if (empty($model->id)) { $model->id = (string) Str::uuid(); } }); } protected function serializeDate(DateTimeInterface $date): string { return $date->format('Y-m-d H:i:s'); } public function activity(): BelongsTo { return $this->belongsTo(Activity::class, 'activity_id', 'id'); } public function responsible(): MorphTo { return $this->morphTo(__FUNCTION__, 'responsible_type', 'responsible_id'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings