gpt4 book ai didi

laravel - Laravel 中的修改器和访问器是什么

转载 作者:行者123 更新时间:2023-12-02 09:39:13 30 4
gpt4 key购买 nike

我试图理解访问器和修改器以及为什么我需要它们。我的另一个问题是属性方法的中间部分,例如:

访问器:

public function getFirstNameAttribute($value)
{
return ucfirst($value);
}

突变:

public function setFirstNameAttribute($value)
{
$this->attributes['first_name'] = strtolower($value);
}

在这里,我们可以看到 getFirstNameAttribute 和 setFirstNameAttribute 方法,但我无法清除其中的中间部分 FirstName 。我将非常感谢更好的解释和友好的合作。

最佳答案

访问器在对象上创建一个“假”属性,您可以像访问数据库列一样访问该属性。因此,如果您的人具有 first_namelast_name 属性,您可以编写:

public function getFullNameAttribute()
{
return $this->first_name . " " . $this->last_name;
}

然后你可以调用$user->full_name,它将返回访问器。它将函数名称转换为 Snake_case 属性,因此可以通过 $user->foo_bar_baz 访问 getFooBarBazAttribute 函数。

Mutator 是一种在设置后更改数据的方法,因此如果您希望数据库中的所有电子邮件都仅小写,您可以这样做:

public function setEmailAttribute($value)
{
$this->attributes['email'] = strtolower($value);
}

那么如果你这样做$user->email = "EMAIL@GMAIL.com"; $user->save(); 在数据库中它将设置 email@gmail.com

关于laravel - Laravel 中的修改器和访问器是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49969855/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com