Champs JSON (générateur de requêtes 11)


Écriture de données JSON

$user['name'] = 'thinkphp';
$user['info'] = [
	'email'    => 'thinkphp@qq.com',
	'nickname' => '流年',
];
Db::name('user')
	->json(['info'])
	->insert($user);

Requête de données JSON

Interroger l'intégralité des données JSON :

$user = Db::name('user')
	->json(['info'])
	->find(1);
dump($user);

La condition de requête est des données JSON

$user = Db::name('user')
	->json(['info'])
    ->where('info->nickname','ThinkPHP')
	->find();
dump($user);

Étant donné que le type d'attribut du champ JSON n'est pas automatiquement obtenu , donc, s'il s'agit d'une requête de données entières, vous pouvez définir le type de champ JSON, par exemple :

$user = Db::name('user')
	->json(['info'])
    ->where('info->user_id', 10)
	->setFieldType(['info->user_id' => 'int'])
	->find();
dump($user);

Mise à jour des données JSON

Mise à jour complète des données JSON

$data['info'] = [
	'email'    => 'kancloud@qq.com',
	'nickname' => 'kancloud',
];
Db::name('user')
	->json(['info'])
    ->where('id',1)
	->update($data);

Mise à jour des données JSON unique

$data['info->nickname'] = 'ThinkPHP';
Db::name('user')
	->json(['info'])
    ->where('id',1)
	->update($data);