Добавить свойство объекта
В модели можно создать свойство, которое будет доступно во всех контроллерах.
Например, если у записи есть два свойства «name» и «last_name», и чтобы каждый раз не создавать свойство «full_name», её можно определить в модели.
# app/Post.php class Post extends Model { public function getFullNameAttribute():string { return $this->name.' '.$this->last_name; } public function getAgeAttribute():int { $birth = new \DateTime($this->date_birth); return $birth->diff(new \DateTime)->y; } }
Свойство создаётся через имя «get{Name}Attribute» в стиле «CamelCase».
Теперь для записи доступно свойство «full_name» или «fullName».
# app/Http/Controllers/PostController.php class PostController extends Controller { public function show() { $post = Post::find(1); $post->full_name; $post->age; } }
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта
