get 怎么处理多个值
时间: 2024-03-06 14:50:21 浏览: 16
如果需要处理多个属性值,可以在 get 回调函数中返回一个数组,每个元素对应一个属性值。例如:
```
protected function firstName(): Attribute
{
return Attribute::make([
'get' => function ($value, $originalValue) {
return ucfirst($value);
},
'set' => function ($value) {
return ['firstName' => ucfirst($value)];
},
]);
}
```
在这个例子中,get 回调函数接受两个参数 $value 和 $originalValue,分别表示属性的当前值和原始值。回调函数将当前值的首字母大写后返回,这样在获取 firstName 属性时,就会得到一个首字母大写的字符串。
同时,这个访问器还定义了一个 set 回调函数,用于设置 firstName 属性的值。这个回调函数接受一个参数 $value,表示要设置的属性值。回调函数将 $value 转换为一个数组,其中键名为属性名,键值为属性值。在这个例子中,只设置了 firstName 属性的值,因此返回的数组中只有一个元素。
当设置 firstName 属性的值时,set 回调函数会自动被调用,从而修改 firstName 和其他属性的值。注意,这里的返回值是一个数组,而不是单个属性值。
类似地,如果要处理多个属性的值,可以在 get 回调函数中返回一个数组,或者在 set 回调函数中返回一个包含多个属性值的数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)