Методы добавления дополнительных атрибутов к модели Laravel с примерами кода

В Laravel вы можете добавлять к модели дополнительные атрибуты или вычисляемые свойства, используя свойство appendsи определяя методы доступа. Вот несколько методов, которые вы можете использовать для добавления атрибутов в модель Laravel, а также примеры кода:

Метод 1: использование свойства appendsи методов доступа в классе модели

class User extends Model
{
    protected $appends = ['full_name'];
    public function getFullNameAttribute()
    {
        return $this->first_name . ' ' . $this->last_name;
    }
}

Метод 2. Использование метода appendв контроллере или представлении

$user = User::find(1);
$user->append('full_name');

Метод 3. Использование методов makeHiddenи makeVisibleв контроллере или представлении

$user = User::find(1);
$user->makeVisible('full_name');

Метод 4. Использование класса ресурсов с дополнительнымметодом

class UserResource extends JsonResource
{
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'name' => $this->name,
        ];
    }
    public function with($request)
    {
        return [
            'full_name' => $this->first_name . ' ' . $this->last_name,
        ];
    }
}

С помощью этих методов вы можете легко добавлять дополнительные атрибуты к модели Laravel по мере необходимости.