获取器

获取器

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属性使用获取器操作。

查询结果处理

新版本增加了查询结果处理机制,可以更方便的处理查询结果数据

Db::name('user')->filter(function($user) {    $user['name'] = 'new value';    $user['test'] = 'test';    return $user;})->select();