Maison > php教程 > PHP开发 > le corps du texte

Résumé des méthodes de fonctionnement de la base de données Laravel du cadre de développement PHP

高洛峰
Libérer: 2016-12-27 10:27:21
original
1416 Les gens l'ont consulté

1. Connexion en lecture/écriture

Parfois, vous souhaiterez peut-être utiliser une connexion à la base de données pour les instructions SELECT et une autre pour les instructions d'insertion, de mise à jour et de suppression. Laravel facilite cela et utilisera toujours la connexion correcte, que ce soit en utilisant des requêtes brutes, le générateur de requêtes ou l'ORM Eloquent.

Comment la connexion lecture/écriture doit être configurée, regardons cet exemple :

'mysql' => array('read' => array('host' => '192.168.1.1'),'write' => array('host' => '196.168.1.2'),'driver' => 'mysql','database' =>'database','username' => 'root','password' => '','charset' => 'utf8','collation' => 'utf8_unicode_ci','prefix' => '')
Copier après la connexion

Notez que deux clés sont ajoutées au tableau de configuration : lecture et écriture. Les deux clés ont des valeurs de tableau contenant une clé : host. Le reste des options de lecture et d'écriture de la base de données de la connexion MySQL principale sera le tableau fusionné. Il nous suffit donc de placer des éléments dans les tableaux de lecture et d'écriture si nous souhaitons écraser les valeurs du tableau principal. Ainsi, dans ce cas, 192.168.1.1 sera utilisé comme connexion « lecture », tandis que 192.168.1.2 sera utilisé comme connexion « écriture ». Les informations d'identification de la base de données, le préfixe, le jeu de caractères et toutes les autres options du tableau mysql principal seront partagés entre les deux connexions.

2. Exécutez la requête

Une fois que vous avez configuré la connexion à la base de données, vous pouvez utiliser la classe de requête d'exécution de la base de données.

Exécuter une requête Select

$results = DB::select('select * from users where id = ?', array(1));
Copier après la connexion

La méthode de sélection de résultat renvoie toujours un tableau.


Exécuter une instruction Insert

 DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
Copier après la connexion

Exécuter une instruction Update

  DB::update('update users set votes = 100 where name = ?', array('John'));
Copier après la connexion

Exécuter une instruction Delete

DB::delete('delete from users');
Copier après la connexion

Remarque : le nombre de lignes renvoyées par les instructions update et delete affecte l'opération.

Exécuter une instruction générique

DB::statement('drop table users');
Copier après la connexion

Interroger les écouteurs d'événements

Vous pouvez interroger les écouteurs d'événements à l'aide de la méthode DB::listening :

DB::listen(function($sql, $bindings, $time){ //});
Copier après la connexion

Troisièmement, transaction de base de données

Pour exécuter un ensemble d'opérations dans une transaction de base de données, vous pouvez utiliser la méthode de transaction :

 DB::transaction(function(){ DB::table('users')->update(array('votes' 
=> 1)); DB::table('posts')->delete();});
Copier après la connexion

Remarque : toute exception levée lors de l'arrêt de la transaction entraînera la transaction automatique. à retourner Roll

Parfois, vous devrez peut-être démarrer une transaction :

DB::beginTransaction();
Copier après la connexion

Vous pouvez annuler la transaction via la méthode rollback :

DB::rollback();
Copier après la connexion

Enfin, vous peut le faire via la méthode commit :Commit a transaction

DB::commit();
Copier après la connexion

4. Accéder aux connexions

Lorsque vous utilisez plusieurs connexions, vous pouvez y accéder via la méthode DB::Connection :

$users = DB::connection('foo')->select(...);
Copier après la connexion

Vous Il est également possible d'accéder à l'instance PDO sous-jacente d'origine :

$pdo = DB::connection()->getPdo();
Copier après la connexion

Parfois, vous devrez peut-être vous reconnecter à une base de données donnée :

DB::reconnect('foo');
Copier après la connexion

Si vous devez vous déconnecter d'une base de données donnée. La base de données dépassera la limite max_connections de l'instance PDO sous-jacente, utilisez la méthode de déconnexion :

DB::disconnect('foo');
Copier après la connexion

5. Journaux de requête

Par défaut, les journaux Laravel sont enregistré en mémoire pour toutes les requêtes en cours d'exécution. Cependant, dans certains cas, par exemple lors de l'insertion d'un grand nombre de lignes, l'application peut utiliser un excès de mémoire. Pour désactiver le journal, vous pouvez utiliser la méthode DisableQueryLog :

DB::connection()->disableQueryLog();
Copier après la connexion

o Pour obtenir un ensemble de requêtes exécutées, vous pouvez utiliser la méthode getQueryLog :

$queries = DB::getQueryLog();
Copier après la connexion

Plus de framework de développement PHP Méthodes de fonctionnement de la base de données Laravel Pour résumer les articles connexes, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal