Maison > Questions et réponses > le corps du texte
J'ai découvert un problème très étrange dans TP5. Dans TP3.2, vous pouvez utiliser des tableaux multidimensionnels dans un où définir plusieurs conditions de requête (sous-conditions)
Par exemple :
where([array('id'=>'1','username'=>'2'),array('username'=>'3','password'=>'4'),'_logic'=>'or'])->find();
Le SQL généré par ce code est
WHERE ( id
= '1' AND username
= '2' ) OR ( username
= '3' AND password
= '4' ) LIMIT 1
La parenthèse ci-dessus est une sous-condition, ce qui est très clair. Cependant, dans TP5, le champ '_logic' n'est plus pris en charge. Au lieu de cela, les méthodes Where et WhereOr sont utilisées. généré sous forme de sous-conditions. Alors, comment puis-je écrire une instruction Where complexe ? S'il vous plaît, donnez-moi quelques conseils.
大家讲道理2017-05-16 12:04:19
Les tableaux sont pris en charge :
$map['name'] = 'thinkphp';
$map['status'] = 1;
Db::table('think_user')->where($map)->select();
Vous pouvez utiliser directement une requête de chaîne
where("id = '1' AND username = '2'")->find();
Il est recommandé de vérifier directement le document :
Méthode de requête