📅  最后修改于: 2023-12-03 15:41:51.328000             🧑  作者: Mango
在 Laravel 8 中,模型访问器可以帮助我们在获取模型属性时对其进行修改和格式化。但是,有时我们希望跳过模型访问器,并直接获取原始属性值。在这篇文章中,我将向您介绍如何跳过模型访问器,以获取原始属性值。
要跳过模型访问器,请按照以下步骤进行操作:
获取原始属性值的方法是 getOriginal()
。它将返回模型的原始属性数组。我们可以在此数组中查找特定属性的原始值。
假设我们有一个名为 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()` 访问器将名字转换为大写字母,并返回格式化后的值。
要获取用户的原始名字,请调用 getOriginal()
方法,并使用 $model->getOriginal('name')
获取原始名字。
$user = User::find(1);
$name = $user->getOriginal('name');
现在,您已成功跳过模型访问器,并取得了原始属性值。
在本文中,我向您介绍了如何在 Laravel 8 中跳过模型访问器,以获取原始属性值。通过这种方法,您可以获取模型属性的原始值,并在需要时自由格式化数据。