File manager - Edit - /var/www/html/portal/app/Models/Pessoa.php
Back
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; use Illuminate\Support\Str; use DateTimeInterface; class Pessoa extends Model { use HasApiTokens, HasFactory, Notifiable; //força a exibição o UUID na lista da blade public $incrementing = false; protected $keyType = 'string'; protected $table = 'pessoas'; const CREATED_AT = 'created_at'; const UPDATED_AT = 'updated_at'; protected $fillable = [ 'id', 'created_at', 'updated_at', 'user_id', 'nomeCompleto', 'nomeMae', 'nomePai', 'dtaNascimento', 'numeroSUS', 'numeroCI', 'orgaoExp', 'dtaExpedicao', 'nacionalidade', 'naturalidadeCidade', 'naturalidadeEstado', 'racaCor', 'sexo', 'escolaridade', 'numeroMembrosResidencia', 'profissao', 'ocupacaoSecundaria', 'status', ]; private function formatarNome(string $nome): string { $nome = trim(mb_strtolower($nome)); $particulas = ['da', 'de', 'do', 'dos', 'das', 'e']; $nome = preg_split('/\s+/', $nome); foreach ($nome as &$palavra) { if (!in_array($palavra, $particulas)) { $palavra = ucfirst($palavra); } } return implode(' ', $nome); } public function getNomeMaeAttribute() { return $this->formatarNome($this->attributes['nomeMae'] ?? ''); } public function getNomePaiAttribute() { return $this->formatarNome($this->attributes['nomePai'] ?? ''); } public function pertence() { return $this->belongsTo(User::class, "user_id"); } public static function boot() { parent::boot(); static::creating(function ($model) { $model->id = Str::uuid(); }); } protected function serializeDate(DateTimeInterface $date) { return $date->format('Y-m-d H:i:s'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.09 |
proxy
|
phpinfo
|
Settings