-
在看之前写的代码的时候,觉得访问器这块可能会遗忘,所以决定还是自己记录下比较好
-
laravel中的访问器我个人的理解是,在从数据库中取出来的某个或者某些字段的值中,如果有需要做特殊处理然后才返回给前端的话,这个时候需用用到访问器
-
我个人首先想到的就是那个
created_at
字段,laravel对这个东西已经有了他自己的处理,那就是在模型文章中定义以下内容即可:
protected $date = ['created_at','updated_at'];
这样这两个字段就是自动转换为常用的时间格式,当然对这两个字段还可以设置其他格式,具体方法可以看文档
- 参照教程中的案例 ( 因为我菜,所以实在想不到其他合适的案例 ) :
- 数据库在存收货地址的时候,省,市,区,具体地址这几个字段是分开的,但是在前端显示的时候是连在一块的,这个时候就可以用到访问器了.
- 可以在对应的模型文件 ( 如Address ) 中定义一个方法 ( 方法名是驼峰式命名 ), 如:
public function getAllAddressAttribute() { return "$this->province" . "$this->city" . "$this->district" . "$this->address"; }
- 这样的话,回头如果需要一个完整的收货地址的话,就可以通过
$address->all_address
来获取了 ( 其中$address
是Address
模型的一个实例)
- 当然了,有访问器,对应的还有修改器,只不过是把
get
换成了set
,具体用法可以看下文档