如何自动包含模型属性?
How to include model attribute automatically?
我有 User
模型,它定义了以下属性:
public function getAvatarUrlAttribute()
{
return 'https://i.pravatar.cc/300?u=' . $this->email;
}
我通常使用如下方式访问此属性:
User::find(1)->avatar_url;
问题
当我执行这段代码时,我需要 return User
模型的所有属性:
$users = User::whereRoleIs('doctor')->get();
return编辑到 ajax
的集合不包含 avatar_url
属性。如何自动包含所有属性?
谢谢。
你需要明确地告诉 Laravel 你想在使用 appends
将它转换为数组时包含它:
<?php
class User {
protected $appends = ['avatar_url'];
public function getAvatarUrlAttribute()
{
return 'https://i.pravatar.cc/300?u=' . $this->email;
}
}
我有 User
模型,它定义了以下属性:
public function getAvatarUrlAttribute()
{
return 'https://i.pravatar.cc/300?u=' . $this->email;
}
我通常使用如下方式访问此属性:
User::find(1)->avatar_url;
问题
当我执行这段代码时,我需要 return User
模型的所有属性:
$users = User::whereRoleIs('doctor')->get();
return编辑到 ajax
的集合不包含 avatar_url
属性。如何自动包含所有属性?
谢谢。
你需要明确地告诉 Laravel 你想在使用 appends
将它转换为数组时包含它:
<?php
class User {
protected $appends = ['avatar_url'];
public function getAvatarUrlAttribute()
{
return 'https://i.pravatar.cc/300?u=' . $this->email;
}
}