Yii2 Model fields是一个非常好用的方法。经常会使用到它。
只有在$model->toArray(),时才能使用。
下面介绍Yii2 Model fields方法的一些常用的使用场景。
1、修改字段名称
接口规范使用驼峰式命名,而数据表字段一般是使用蛇型命名方式。这时就可以使用如下方法转换了。
123456 | public function fields() { return [ 'email_address' => 'emailAddress' , ]; } |
2、删除一些包含敏感信息的字段
123456 | public function fields() { $fields = parent::fields(); unset($fields[ 'auth_key' ], $fields[ 'password_hash' ], $fields[ 'password_reset_token' ]); return $fields; } |
3、增加字段
增加model中不存在的字段
123456 | public function fields () { $fields = parent::fields(); $fields[ 'name' ] = '' ; return $fields; } |
4、修改字段值,可以用于字段脱敏等
通过匿名函数可以修改字段值
123456 | public function fields () { $fields = parent::fields(); $fields[ 'created_at' ] = function(){ return date( 'Y-m-d H:i:s' , $ this ->created_at);}; return $fields; } |
总结起来:可以修改字段名、字段值、删除字段、增加字段。