


Comment interroger et mettre à jour des données dans CakePHP ?
CakePHP est un framework PHP populaire qui fournit une fonctionnalité ORM (Object Relational Mapping) pratique, ce qui rend très facile l'interrogation et la mise à jour de la base de données.
Cet article expliquera comment interroger et mettre à jour des données dans CakePHP. Nous commencerons par des requêtes et des mises à jour simples, puis progresserons pour voir comment utiliser les conditions et les modèles associés pour interroger et mettre à jour les données de manière plus complexe.
- Requête de base
Tout d'abord, voyons comment créer la requête la plus simple. Supposons que nous ayons une table de données appelée « Utilisateurs » et que nous souhaitions récupérer tous les enregistrements utilisateur.
Dans CakePHP, nous pouvons utiliser la méthode find pour récupérer des données. Voici un exemple de code :
$users = $this->Users->find('all');
Cela renverra un tableau contenant tous les enregistrements utilisateur. Si vous souhaitez récupérer un seul enregistrement, vous pouvez utiliser la méthode find('first') :
$user = $this->Users->find('first');
Cela renverra le premier enregistrement utilisateur. Vous pouvez également utiliser la méthode find('list') pour récupérer une table de hachage de paires clé-valeur, où la clé est la clé primaire de l'enregistrement et la valeur est le champ spécifié. Par exemple, si vous souhaitez obtenir une table de hachage des identifiants et des noms d'utilisateurs, vous pouvez utiliser le code suivant :
$users = $this->Users->find('list', ['keyField' => 'id', 'valueField' => 'name']);
- Requête conditionnelle
Lorsque vous devez effectuer une requête conditionnelle, CakePHP fournit un moyen pratique de filtrer les données. résultats de la requête. Vous pouvez utiliser les méthodes Where et andWhere pour créer des conditions de requête par programmation. Voici un exemple de code :
$users = $this->Users->find() ->where(['age >' => 18, 'name LIKE' => '%John%']) ->andWhere(['gender' => 'male']) ->all();
Dans le code ci-dessus, nous avons utilisé les méthodes Where et andWhere pour spécifier les conditions de requête. La première condition spécifie les utilisateurs âgés de plus de 18 ans et dont le nom contient « John ». La deuxième condition spécifie les utilisateurs de genre « masculin ». Enfin, nous utilisons la méthode all pour récupérer tous les enregistrements utilisateur qui répondent aux critères.
Vous pouvez également utiliser des conditions de requête complexes, telles que IN, NOT IN, BETWEEN, etc. Voici un exemple de code :
$users = $this->Users->find() ->where(['age BETWEEN' => [18, 25]]) ->andWhere(['state IN' => ['CA', 'NY', 'TX']]) ->all();
Dans le code ci-dessus, nous avons utilisé les conditions BETWEEN et IN pour spécifier les utilisateurs qui ont entre 18 et 25 ans et dont le statut est CA, NY ou TX. De même, nous utilisons la méthode all pour récupérer tous les enregistrements utilisateur qui répondent aux critères.
- Requête associée
Dans CakePHP, vous pouvez facilement effectuer des requêtes associées. Supposons que nous ayons une table de données appelée « Messages » en plus des enregistrements d'utilisateurs, et que chaque utilisateur ait plusieurs publications. Voyons comment interroger un utilisateur et toutes ses publications.
Tout d'abord, nous devons définir l'association Posts dans le modèle User. Nous pouvons utiliser la méthode AppartientTo pour associer la table de données au modèle User. Voici un exemple de code :
class UsersTable extends Table { public function initialize(array $config) { $this->hasMany('Posts'); } }
Dans le code ci-dessus, nous utilisons la méthode hasMany pour spécifier l'association entre le modèle User et la table de données Posts.
Nous pouvons désormais utiliser la méthode find de la requête associée pour obtenir tous les utilisateurs et tous leurs articles. Voici un exemple de code :
$users = $this->Users->find('all', [ 'contain' => ['Posts'] ]);
Dans le code ci-dessus, nous utilisons l'option contain pour spécifier la table de données à associer. Vous pouvez également spécifier plusieurs associations via un tableau. Par exemple, si votre modèle Utilisateur est également associé à une table Commentaires, vous pouvez écrire comme ceci :
$users = $this->Users->find('all', [ 'contain' => ['Posts', 'Comments'] ]);
Lors de l'exécution des requêtes associées, CakePHP utilisera des jointures internes (INNER JOIN) pour combiner les deux tables de données afin d'obtenir les données associées. Si vous souhaitez utiliser un LEFT JOIN ou un RIGHT JOIN, vous pouvez les spécifier dans la définition de l'association.
- Mise à jour des données
Lorsque vous devez mettre à jour des enregistrements dans la base de données, CakePHP fournit un moyen pratique d'effectuer des opérations de mise à jour. Vous pouvez utiliser la méthode updateAll pour mettre à jour les enregistrements par programmation. Voici un exemple de code :
$result = $this->Users->updateAll( ['age' => 25], ['name LIKE' => '%John%'] );
Dans le code ci-dessus, nous utilisons la méthode updateAll pour mettre à jour tous les utilisateurs âgés de 25 ans dont le nom contient "John". La méthode updateAll accepte deux paramètres. Le premier paramètre spécifie la colonne et la valeur à définir. Dans l'exemple ci-dessus, nous avons fixé l'âge à 25 ans. Le deuxième paramètre spécifie les critères pour que l'enregistrement soit mis à jour.
Si vous souhaitez mettre à jour un seul enregistrement, vous pouvez utiliser la méthode de sauvegarde. Voici un exemple de code :
$user = $this->Users->get(1); $user->age = 25; $this->Users->save($user);
Dans le code ci-dessus, nous avons utilisé la méthode get pour récupérer l'enregistrement utilisateur avec l'ID 1. Nous mettons ensuite à jour l'âge de l'enregistrement et utilisons la méthode de sauvegarde pour enregistrer les modifications.
Lorsque vous devez supprimer des enregistrements, vous pouvez également utiliser les méthodes deleteAll et delete fournies par CakePHP.
Résumé
Dans cet article, nous avons présenté comment effectuer une requête et une mise à jour de données dans CakePHP. Nous avons appris à utiliser des méthodes simples de requête et de mise à jour, ainsi qu'à utiliser des modèles conditionnels et relationnels pour des requêtes et des mises à jour plus complexes. En utilisant la fonctionnalité ORM pratique fournie par CakePHP, vous pouvez facilement manipuler la base de données en fonction des besoins de votre application.
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!

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

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La mise à jour de Blizzard Battle.net reste bloquée à 45%, comment le résoudre ? Récemment, de nombreuses personnes ont été bloquées à la barre de progression de 45 % lors de la mise à jour du logiciel. Elles resteront toujours bloquées après plusieurs redémarrages. Alors, comment résoudre cette situation ? Nous pouvons réinstaller le client, changer de région et supprimer des fichiers. ce didacticiel logiciel partagera les étapes de fonctionnement, dans l'espoir d'aider plus de personnes. La mise à jour de Blizzard Battle.net reste bloquée à 45 %, comment résoudre ce problème ? 1. Client 1. Tout d'abord, vous devez confirmer que votre client est la version officielle téléchargée depuis le site officiel. 2. Sinon, les utilisateurs peuvent accéder au site Web du serveur asiatique pour télécharger. 3. Après avoir entré, cliquez sur Télécharger dans le coin supérieur droit. Remarque : veillez à ne pas sélectionner le chinois simplifié lors de l'installation.

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Il a été confirmé qu'Epic Seven sera mis à jour en continu à 11 heures le 22 février. Cette mise à jour nous apportera de nombreuses nouvelles activités et contenus, notamment une augmentation du taux d'invocation limité de Leia et Sweet Miracle, une mise à jour du mystérieux pool de cartes. , La deuxième semaine de l'histoire parallèle spéciale Miracle Maid Kingdom a commencé. Jetons un coup d'œil à cette mise à jour. Calendrier de mise à jour du jeu mobile : The Seventh Epic sera mis à jour le 22 février : The Miracle Maid Kingdom ouvrira pour la deuxième semaine ※La chance d'invocation limitée de "Leia" et "Sweet Miracle" est augmentée ! ■Durée d'invocation limitée : -22/02/2024 (jeudi) 11h00 ~ 07/03/2024 (jeudi) 10h59 ■Attributs et professions du personnage : attributs naturels, guerrier ■Introduction au personnage : groupe de quatre personnes. sous-chanteur de "Miracle Maid Kingdom" et Bei

Angular.js est une plateforme JavaScript librement accessible pour créer des applications dynamiques. Il vous permet d'exprimer rapidement et clairement divers aspects de votre application en étendant la syntaxe HTML en tant que langage de modèle. Angular.js fournit une gamme d'outils pour vous aider à écrire, mettre à jour et tester votre code. De plus, il offre de nombreuses fonctionnalités telles que le routage et la gestion des formulaires. Ce guide expliquera comment installer Angular sur Ubuntu24. Tout d’abord, vous devez installer Node.js. Node.js est un environnement d'exécution JavaScript basé sur le moteur ChromeV8 qui vous permet d'exécuter du code JavaScript côté serveur. Être à Ub

Il a été confirmé que Lantern and Dungeons sera mis à jour le 29 février. Après la mise à jour, la version remasterisée de Lantern and Dungeons sera lancée, et la version remasterisée sera également liée à Legend of Nezha. profession, et les joueurs peuvent directement changer de travail, le contenu du donjon sera également étendu, de nouvelles zones de donjon seront ouvertes, etc. Calendrier de mise à jour du jeu mobile Lantern and Dungeon mis à jour le 29 février : version remasterisée ╳ Contenu clé de la version de liaison "Legend of Nezha" Nouveau métier, pourquoi êtes-vous invité à changer de métier ? . J'ai entendu dire qu'après avoir changé de travail, le détenteur de la lanterne peut également acquérir de nombreuses compétences intéressantes. Goro s'est exclamé : les pantalons thaïlandais sont chauds ! La Légende de Nezha se réunit ! Marcher sur la roue chaude, tenant le cercle du ciel et de la terre en main ♫ ~ Les petits héros à la fois sages et courageux : Nezha et Little Dragon Girl sont sur le point d'arriver

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
