Laravel est un framework Web PHP open source excellent dans le traitement des données. Laravel fournit une méthode ORM (Object Relational Mapping) simple, flexible et facile à utiliser, permettant aux développeurs de gérer plus facilement différentes bases de données.
Lorsque nous utilisons Laravel, nous devons d'abord configurer le lien de base de données afin que Laravel puisse accéder correctement à notre base de données. Ci-dessous, nous expliquerons comment configurer la base de données dans Laravel.
1. Variables d'environnement
Dans Laravel, nous pouvons définir les informations de notre base de données en modifiant le fichier .env. Nous pouvons trouver les informations suivantes dans le fichier .env?:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
DB_CONNECTION
est utilisé pour spécifier le type de base de données. Les types de bases de données pris en charge par Laravel incluent mysql, pgsql, sqlite, sqlsrv, etc.DB_HOST
用于指定數(shù)據(jù)庫所在的主機(jī)名或IP地址,一般指定為localhost
或127.0.0.1
。DB_PORT
用于指定數(shù)據(jù)庫服務(wù)器的端口號。DB_DATABASE
用于指定要使用的數(shù)據(jù)庫名稱。DB_USERNAME
用于指定連接數(shù)據(jù)庫使用的用戶名。DB_PASSWORD
用于指定連接數(shù)據(jù)庫使用的密碼。
DB_CONNECTION
用于指定數(shù)據(jù)庫的類型,Laravel支持的數(shù)據(jù)庫類型有mysql、pgsql、sqlite、sqlsrv等。在進(jìn)行完以上的設(shè)置之后,Laravel將會使用這些設(shè)置來連接我們的數(shù)據(jù)庫。
2. 數(shù)據(jù)庫遷移
Laravel提供了數(shù)據(jù)庫遷移的功能,可以方便我們在不同的數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)遷移。在進(jìn)行數(shù)據(jù)庫遷移時需要注意的是,我們需要先創(chuàng)建數(shù)據(jù)庫并設(shè)置好相應(yīng)的連接信息,然后再利用遷移器進(jìn)行數(shù)據(jù)遷移。
在Laravel中,我們可以通過執(zhí)行php artisan make:migration create_users_table
命令來創(chuàng)建一個遷移文件。該命令將會在database/migrations
目錄中生成一個新的遷移文件,文件名類似于2019_04_01_000001_create_users_table.php
。
在創(chuàng)建完遷移文件之后,我們需要打開該文件并編輯其中的up
方法和down
方法。其中,up
方法將會在執(zhí)行遷移時被調(diào)用,用于定義我們需要執(zhí)行的數(shù)據(jù)庫操作;down
方法將會在撤銷遷移時被調(diào)用,用于定義我們需要執(zhí)行的撤銷操作。下面我們以創(chuàng)建用戶表為例,進(jìn)行代碼示范:
<?php use IlluminateSupportFacadesSchema; use IlluminateDatabaseSchemaBlueprint; use IlluminateDatabaseMigrationsMigration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('users'); } }
以上代碼將會創(chuàng)建一個名為users
的表,該表包含5個字段id
、name
、email
、password
和remember_token
,以及兩個自動維護(hù)的字段created_at
和updated_at
。
在完成了上述設(shè)置之后,我們可以執(zhí)行php artisan migrate
命令來執(zhí)行數(shù)據(jù)遷移操作。
3. 模型
在Laravel中,我們可以使用Eloquent ORM來方便地操作我們的數(shù)據(jù)庫。Eloquent ORM提供了許多方法用于執(zhí)行CRUD(create, read, update, delete)操作,能夠幫助我們快速進(jìn)行數(shù)據(jù)庫操作。
我們先來看一下在模型中設(shè)置數(shù)據(jù)庫的方法。在模型類中,我們可以使用以下方法來指定表名、主鍵以及數(shù)據(jù)庫連接信息:
<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class User extends Model { protected $table = 'users'; protected $primaryKey = 'id'; protected $connection = 'mysql'; }
以上代碼將會指定使用mysql
連接來訪問users
表,該表的主鍵為id
。
在設(shè)置完數(shù)據(jù)庫連接信息后,我們就可以使用Eloquent ORM來進(jìn)行數(shù)據(jù)庫操作了。下面我們來看一些Eloquent ORM的基本操作。
3.1 創(chuàng)建數(shù)據(jù)
在Eloquent ORM中,我們可以使用create
方法來創(chuàng)建數(shù)據(jù)。例如:
$user = User::create([ 'name' => 'Tom', 'email' => 'tom@example.com', 'password' => bcrypt('password'), ]);
以上代碼將會創(chuàng)建一條名為Tom
、郵箱為tom@example.com
、密碼為password
的用戶數(shù)據(jù)。
3.2 查詢數(shù)據(jù)
在Eloquent ORM中,我們可以使用get
方法來查詢數(shù)據(jù)。例如:
$users = User::get();
以上代碼將會從users
表中查詢出所有的用戶數(shù)據(jù)。
我們也可以使用where
方法來進(jìn)行條件查詢。例如:
$users = User::where('name', 'Tom')->get();
以上代碼將會從users
表中查詢出名稱為Tom
的所有用戶數(shù)據(jù)。
3.3 更新數(shù)據(jù)
在Eloquent ORM中,我們可以使用update
方法來更新數(shù)據(jù)。例如:
$user = User::where('name', 'Tom')->first(); $user->email = 'new_email@example.com'; $user->save();
以上代碼將會將名為Tom
的用戶數(shù)據(jù)的郵箱改為new_email@example.com
。
3.4 刪除數(shù)據(jù)
在Eloquent ORM中,我們可以使用delete
方法來刪除數(shù)據(jù)。例如:
$user = User::where('name', 'Tom')->first(); $user->delete();
以上代碼將會刪除名為Tom
DB_HOST
est utilisé pour spécifier le nom d'h?te ou l'adresse IP où se trouve la base de données, généralement spécifié comme localhost
ou 127.0.0.1
.
DB_PORT
est utilisé pour spécifier le numéro de port du serveur de base de données. ??DB_DATABASE
est utilisé pour spécifier le nom de la base de données à utiliser. ??DB_USERNAME
est utilisé pour spécifier le nom d'utilisateur utilisé pour se connecter à la base de données. ??DB_PASSWORD
est utilisé pour spécifier le mot de passe utilisé pour se connecter à la base de données. ??Après avoir complété les paramètres ci-dessus, Laravel utilisera ces paramètres pour se connecter à notre base de données. ????2. Migration de base de données????Laravel fournit une fonction de migration de base de données, qui peut nous faciliter la migration des données entre différentes bases de données. Ce qu'il faut noter lors de la migration de la base de données, c'est que nous devons d'abord créer la base de données et configurer les informations de connexion correspondantes, puis utiliser le migrateur pour migrer les données. ????Dans Laravel, nous pouvons créer un fichier de migration en exécutant la commande php artisan make:migration create_users_table
. Cette commande générera un nouveau fichier de migration dans le répertoire database/migrations
, avec un nom de fichier similaire à 2019_04_01_000001_create_users_table.php
. ????Après avoir créé le fichier de migration, nous devons ouvrir le fichier et modifier la méthode up
et la méthode down
. Parmi elles, la méthode up
sera appelée lors de l'exécution de la migration pour définir les opérations de base de données que nous devons effectuer?; la méthode down
sera appelée lors de l'inversion de la migration et est utilisée pour définir l'opération d'annulation que nous devons effectuer. Prenons la création d'une table utilisateur comme exemple pour démontrer le code?: ??rrreee??Le code ci-dessus créera une table nommée users
, qui contient 5 champs?: id
, nom
, email
, mot de passe
et remember_token
, ainsi que deux champs automatiquement gérés created_at
> et updated_at
. ????Après avoir terminé les paramètres ci-dessus, nous pouvons exécuter la commande php artisan migrate
pour effectuer la migration des données. ????3. Modèle????Dans Laravel, nous pouvons utiliser Eloquent ORM pour exploiter facilement notre base de données. Eloquent ORM fournit de nombreuses méthodes pour effectuer des opérations CRUD (créer, lire, mettre à jour, supprimer), ce qui peut nous aider à effectuer rapidement des opérations de base de données. ????Voyons d'abord comment configurer la base de données dans le modèle. Dans la classe modèle, nous pouvons utiliser les méthodes suivantes pour spécifier le nom de la table, la clé primaire et les informations de connexion à la base de données?: ??rrreee??Le code ci-dessus spécifiera l'utilisation de la connexion mysql
pour accéder au users
, la clé primaire de cette table est id
. ????Après avoir défini les informations de connexion à la base de données, nous pouvons utiliser Eloquent ORM pour effectuer des opérations de base de données. Examinons quelques opérations de base d'Eloquent ORM. ??3.1 Créer des données
??Dans Eloquent ORM, nous pouvons utiliser la méthodecreate
pour créer des données. Par exemple?: ??rrreee??Le code ci-dessus créera des données utilisateur nommées Tom
, l'adresse e-mail est tom@example.com
et le mot de passe est mot de passe
. ??3.2 Interrogation de données
??Dans Eloquent ORM, nous pouvons utiliser la méthodeget
pour interroger des données. Par exemple?: ??rrreee??Le code ci-dessus interrogera toutes les données utilisateur de la table users
. ????Nous pouvons également utiliser la méthode where
pour effectuer des requêtes conditionnelles. Par exemple?: ??rrreee??Le code ci-dessus interrogera toutes les données utilisateur nommées Tom
dans la table users
. ??3.3 Mettre à jour les données
??Dans Eloquent ORM, nous pouvons utiliser la méthodeupdate
pour mettre à jour les données. Par exemple?: ??rrreee??Le code ci-dessus changera l'adresse e-mail des données utilisateur nommées Tom
en new_email@example.com
. ??3.4 Supprimer des données
??Dans Eloquent ORM, nous pouvons utiliser la méthodedelete
pour supprimer des données. Par exemple?: ??rrreee??Le code ci-dessus supprimera les données utilisateur nommées Tom
. ??Conclusion
En bref, Laravel fournit une multitude de méthodes de fonctionnement de bases de données, ce qui peut nous rendre plus pratique lors du développement d'applications Web. Lors de la configuration de la base de données, nous devons prêter attention à la définition des variables d'environnement et à l'édition des fichiers de migration de la base de données pour éviter les erreurs inutiles. Dans le même temps, Eloquent ORM nous fournit également des méthodes de fonctionnement CRUD pratiques et rapides, qui peuvent nous rendre plus efficaces dans le processus de développement.
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

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

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)

TOWORKEFFECTECTEMENTSWitHPivottablesInLaravel, FirstAccessPivotDatauSingWithPivot () Orwithtimestamps (), ThepDateEntrieswitHupDateExistPivot (), ManagerLeshipSviaDeTache

L'optimisation des performances de Laravel peut améliorer l'efficacité de l'application à travers quatre directions de base. 1. Utilisez le mécanisme de cache pour réduire les requêtes en double, stocker rarement la modification des données via Cache :: Remember () et d'autres méthodes pour réduire la fréquence d'accès à la base de données; 2. Optimiser la base de données de la requête du modèle aux requêtes, évitez les requêtes N 1, spécifiant les requêtes de champ, ajoutant des index, pagination de traitement et de lecture et de séparation d'écriture et réduire les goulots d'étranglement; 3. Utilisez des opérations longues telles que l'envoi d'e-mails et l'exportation de fichiers vers le traitement asynchrone de file d'attente, utilisez le superviseur pour gérer les travailleurs et configurer des mécanismes de réessayer; 4. Utilisez raisonnablement les fournisseurs de middleware et de services pour éviter une logique complexe et un code d'initialisation inutile et retarder le chargement des services pour améliorer l'efficacité du démarrage.

Laravelsanctum convient aux certifications API simples et légères telles que les applications SPA ou mobiles, tandis que le passeport convient aux scénarios où une fonctionnalité OAuth2 complète est requise. 1. Sanctum fournit une authentification basée sur des jetons, adaptée aux clients de premier parti; 2. Passport prend en charge des processus complexes tels que les codes d'autorisation et les informations d'identification des clients, adaptés aux développeurs tiers pour accéder; 3. L'installation et la configuration de Sanctum sont plus simples et les co?ts de maintenance sont faibles; 4. Les fonctions du passeport sont complètes, mais la configuration est complexe, adaptée aux plates-formes qui nécessitent un contr?le d'autorisation fin. Lors de la sélection, vous devez déterminer si la fonction OAuth2 est requise en fonction des exigences du projet.

Les méthodes de gestion de l'état de la base de données dans les tests Laravel incluent l'utilisation de RefreshDatabase, de semis sélectif des données, d'utilisation minutieuse des transactions et de nettoyage manuel si nécessaire. 1. Utilisez RefreshDatabasetraitt pour migrer automatiquement la structure de la base de données pour vous assurer que chaque test est basé sur une base de données propre; 2. Utilisez des graines spécifiques pour remplir les données nécessaires et générer des données dynamiques en combinaison avec l'usine du modèle; 3. Utilisez DatabaseTransactionStactionStrait pour faire reculer les changements de test, mais faites attention à ses limites; 4. Truncate manuellement le tableau ou réensemez la base de données lorsqu'elle ne peut pas être automatiquement nettoyée. Ces méthodes sont sélectionnées de manière flexible en fonction du type de test et d'environnement pour assurer la fiabilité et l'efficacité du test.

Laravel simplifie le traitement des transactions de la base de données avec le support intégré. 1. Utilisez la méthode DB :: Transaction () pour commettre automatiquement des opérations ou randonner des opérations pour assurer l'intégrité des données; 2. Prise en charge des transactions imbriquées et implémentez-les via des points de sauvegarde, mais il est généralement recommandé d'utiliser un wrapper de transaction unique pour éviter la complexité; 3. Fournir des méthodes de contr?le manuel telles que BeginTransaction (), commit () et rollback (), adaptées aux scénarios qui nécessitent un traitement plus flexible; 4. Les meilleures pratiques incluent le maintien des transactions courtes, les utilisant uniquement lorsque cela est nécessaire, les échecs de test et l'enregistrement des informations en arrière. Le choix rationnel des méthodes de gestion des transactions peut aider à améliorer la fiabilité et les performances des applications.

Le c?ur de la gestion des demandes et des réponses HTTP dans Laravel est de ma?triser l'acquisition de données de demande, de retour et de téléchargement de fichiers. 1. Lors de la réception de données de demande, vous pouvez injecter l'instance de demande via des invites de type et utiliser des méthodes d'entrée () ou magiques pour obtenir des champs, et combiner valider () ou des classes de demande de formulaire de vérification; 2. La réponse de retour prend en charge les cha?nes, les vues, les JSON, les réponses avec les codes d'état et les en-têtes et les opérations de redirection; 3. Lors du traitement des téléchargements de fichiers, vous devez utiliser la méthode Fichier () et Store () pour stocker des fichiers. Avant le téléchargement, vous devez vérifier le type de fichier et la taille, et le chemin de stockage peut être enregistré dans la base de données.

La fa?on la plus courante de générer une route nommée dans Laravel est d'utiliser la fonction d'assistance Route (), qui correspond automatiquement au chemin en fonction du nom de route et gère la liaison des paramètres. 1. Passez le nom et les paramètres de la route dans le contr?leur ou la vue, tels que Route ('user.profile', ['id' => 1]); 2. Lorsque plusieurs paramètres, il vous suffit de passer le tableau, et l'ordre n'affecte pas la correspondance, telle que Route ('user.post.show', ['id' => 1, 'postid' => 10]); 3. Les liens peuvent être directement intégrés dans le modèle de lame, tels que la visualisation des informations; 4. Lorsque des paramètres facultatifs ne sont pas fournis, ils ne sont pas affichés, comme Route (?user.post?,

La priorité de la file d'attente de Laravel est contr?lée à travers la séquence de démarrage. Les étapes spécifiques sont: 1. Définissez plusieurs files d'attente dans le fichier de configuration; 2. Spécifiez la priorité de la file d'attente lors du démarrage d'un travailleur, tel que phpartisanqueue: work - queue = high, par défaut; 3. Utilisez la méthode onqueue () pour spécifier le nom de la file d'attente lors de la distribution de taches; 4. Utilisez Laravelhorizon et d'autres outils pour surveiller et gérer les performances des files d'attente. Cela garantit que les taches de grande priorité sont traitées en premier tout en maintenant la maintenabilité du code et la stabilité du système.
