ゲッター(QueryBuilder15)


Getter

Db クラスは、次のようなゲッター定義もサポートできます。

Db::name('user')->withAttr('name', function($value, $data) {
	return strtolower($value);
})->select();

ゲッター メソッドは、受信する 2 つのメソッドをサポートします。パラメータの場合、最初のパラメータは現在のフィールドの値、2 番目のパラメータはすべてのデータです。

上記のコードでは、クエリされたデータ セットの名前フィールドの値は一律に小文字に変換されます。

withAttr メソッドを複数回呼び出して、複数のフィールドのゲッターを定義できます。

JSON フィールドのゲッターの定義をサポートします。例:

$user = Db::name('user')
	->json(['info'])
    ->withAttr('info.name', function($value, $data) {
        return strtolower($value);
    })->find(1);
dump($user);

クエリ結果が返されると、情報フィールド (JSON フィールド) の name 属性に対してゲッター操作が自動的に使用されます。