📜  跳过模型访问器 laravel8 - PHP (1)

📅  最后修改于: 2023-12-03 15:41:51.328000             🧑  作者: Mango

跳过模型访问器 Laravel8

在 Laravel 8 中,模型访问器可以帮助我们在获取模型属性时对其进行修改和格式化。但是,有时我们希望跳过模型访问器,并直接获取原始属性值。在这篇文章中,我将向您介绍如何跳过模型访问器,以获取原始属性值。

在 Laravel 8 中跳过模型访问器的步骤

要跳过模型访问器,请按照以下步骤进行操作:

  1. 获取原始属性值的方法是 getOriginal()。它将返回模型的原始属性数组。我们可以在此数组中查找特定属性的原始值。

  2. 假设我们有一个名为 User 的模型,该模型有一个名为 name 的访问器。该访问器返回用户的名字并对其进行格式化,以便在视图中表示。

    <?php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Database\Eloquent\Model;
    
    class User extends Model
    {
        use HasFactory;
    
        public function getNameAttribute($value)
        {
            return strtoupper($value);
        }
    }
    
    ```php
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Database\Eloquent\Model;
    
    class User extends Model
    {
        use HasFactory;
    
        public function getNameAttribute($value)
        {
            return strtoupper($value);
        }
    }
    
    
    在此示例中,`getNameAttribute()` 访问器将名字转换为大写字母,并返回格式化后的值。
    
    
  3. 要获取用户的原始名字,请调用 getOriginal() 方法,并使用 $model->getOriginal('name') 获取原始名字。

    $user = User::find(1);
    $name = $user->getOriginal('name');
    
  4. 现在,您已成功跳过模型访问器,并取得了原始属性值。

总结

在本文中,我向您介绍了如何在 Laravel 8 中跳过模型访问器,以获取原始属性值。通过这种方法,您可以获取模型属性的原始值,并在需要时自由格式化数据。