Comment thinkphp interroge-t-il la base de données ?
Requête de base de données
ThinkPHP intègre des méthodes de requête très flexibles, qui peuvent effectuer rapidement des opérations de requête de données.
Les conditions de requête peuvent être utilisées pour toute opération telle que CURD et peuvent être transmises en tant que paramètres de la méthode Where.
ThinkPHP peut prendre en charge l'utilisation directe de chaînes comme conditions de requête, mais dans la plupart des cas, il est recommandé d'utiliser des tableaux d'index ou des objets comme conditions de requête car c'est plus sûr.
Méthode de requête
1. Utiliser des chaînes comme conditions de requête
C'est la méthode la plus traditionnelle, mais elle est plus sûre. Pas élevé, par exemple :
$User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select();
La dernière instruction SQL générée est
SELECT * FROM think_user WHERE type=1 AND status=1
2. Utiliser des tableaux comme conditions de requête
$User = M("User"); // 实例化User对象 $condition['name'] = 'thinkphp'; $condition['status'] = 1; // 把查询条件传入查询方法 $User->where($condition)->select();
Le dernier SQL généré instruction Yes
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
Si vous effectuez une requête multi-champs, la relation logique par défaut entre les champs est ET logique, mais le jugement logique par défaut peut être modifié à l'aide des règles suivantes, en utilisant _logic pour définir la logique de la requête :
$User = M("User"); // 实例化User对象 $condition['name'] = 'thinkphp'; $condition['account'] = 'thinkphp'; $condition['_logic'] = 'OR'; //定义查询逻辑 // 把查询条件传入查询方法 $User->where($condition)->select();
L'instruction SQL finale générée est
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
3. Utilisez la méthode objet pour interroger (ici, prenez l'objet intégré stdClass comme exemple. )
$User = M("User"); // 实例化User对象 // 定义查询条件 $condition = new stdClass(); $condition->name = 'thinkphp'; $condition->status= 1; $User->where($condition)->select();
L'instruction SQL finale générée est la même que ci-dessus
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
L'effet de l'utilisation de la requête en mode objet et de l'utilisation de la requête tableau est le même et interchangeable Dans la plupart des cas, nous. Nous recommandons d'utiliser le mode tableau pour être plus efficace. Nous utiliserons plus tard la méthode tableau comme exemple pour expliquer l'utilisation spécifique du langage de requête.
Requête d'expression
La condition de requête ci-dessus n'est qu'un simple jugement d'égalité. Les expressions de requête peuvent être utilisées pour prendre en charge davantage de syntaxe de requête SQL et peuvent être utilisées dans un tableau ou dans une requête. En mode objet (seul le mode tableau est utilisé comme exemple ci-dessous), le format de l'expression de requête est :
$map['字段名'] = array('表达式','查询条件');
L'expression n'est pas sensible à la casse. Les expressions de requête prises en charge sont respectivement les suivantes : <.>
$map['id'] = array('eq',100); id = 100; $map['id'] = array('egt',100);id >= 100 $map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查询 $map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')Cet article provient de la colonne d'articles techniques du framework ThinkPHP :
http://www.php.cn/phpkj/thinkphp /
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

L'article traite du cadre de test intégré de ThinkPhP, mettant en évidence ses principales fonctionnalités telles que les tests d'unité et d'intégration, et comment il améliore la fiabilité des applications grâce à la détection précoce des bogues et à une meilleure qualité de code.

L'article discute de l'utilisation de ThinkPHP pour les flux de données boursières en temps réel, en se concentrant sur la configuration, la précision des données, l'optimisation et les mesures de sécurité.

L'article traite des considérations clés pour l'utilisation de ThinkPHP dans des architectures sans serveur, en se concentrant sur l'optimisation des performances, la conception sans état et la sécurité. Il met en évidence des avantages tels que la rentabilité et l'évolutivité, mais relève également des défis

L'article discute de la mise en œuvre de la découverte de services et de l'équilibrage des charges dans les microservices ThinkPHP, en se concentrant sur la configuration, les meilleures pratiques, les méthodes d'intégration et les outils recommandés. [159 caractères]

Le conteneur IOC de ThinkPhp propose des fonctionnalités avancées comme le chargement paresseux, la liaison contextuelle et l'injection de méthode pour une gestion efficace des dépendances dans les applications PHP. COMMANDE CHARACTER: 159

L'article discute de l'utilisation de ThinkPHP pour créer des outils de collaboration en temps réel, en se concentrant sur la configuration, l'intégration WebSocket et les meilleures pratiques de sécurité.

ThinkPHP profite aux applications SaaS avec sa conception légère, son architecture MVC et sa extensibilité. Il améliore l'évolutivité, accélère le développement et améliore la sécurité grâce à diverses fonctionnalités.

L'article décrit la création d'un système de file d'attente de tâches distribué à l'aide de ThinkPhp et RabbitMQ, en se concentrant sur l'installation, la configuration, la gestion des tâches et l'évolutivité. Les problèmes clés incluent assurer la haute disponibilité, éviter les pièges communs comme Imprope


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Dreamweaver Mac
Outils de développement Web visuel