Obtention (QueryBuilder15)


Getter

La classe Db peut également prendre en charge les définitions de getter, par exemple :

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

La méthode getter prend en charge la transmission de deux paramètres, le premier paramètre est la valeur du champ actuel et le deuxième paramètre est toutes les données. .

Dans le code ci-dessus, la valeur du champ de nom dans l'ensemble de données interrogé sera uniformément convertie en minuscules.

La méthode withAttr peut être appelée plusieurs fois pour définir des getters pour plusieurs champs.

Prend en charge la définition de getters pour les champs JSON, par exemple :

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

Lorsque les résultats de la requête sont renvoyés, l'opération getter sera automatiquement utilisée sur l'attribut de nom du champ d'information (champ JSON).