ThinkPHP6.0快速開發手冊(案例版)
/ 获取器(查询构造器15)
获取器(查询构造器15)
获取器。
获取器
Db类也可以支持获取器定义,例如:
Db::name('user')->withAttr('name', function($value, $data) { return strtolower($value); })->select();
获取器方法支持传入两个参数,第一个参数是当前字段的值,第二个参数是所有的数据。
上面的代码,查询的数据集数据中的name字段的值会统一进行小写转换。
withAttr方法可以多次调用,对多个字段定义获取器。
支持对JSON字段定义获取器,例如:
$user = Db::name('user') ->json(['info']) ->withAttr('info.name', function($value, $data) { return strtolower($value); })->find(1); dump($user);
查询结果返回的时候,会自动对info字段(JSON字段)的name属性使用获取器操作。