Maison >développement back-end >tutoriel php >Comment insérer des données brutes dans la base de données MySQL dans Laravel ?
Vous pouvez utiliser l'outil de création de requêtes pour insérer des données brutes dans la table MySQL. Vous devez inclure la classe : IlluminateSupportFacadesDB ou utiliser une base de données
;Supposons que nous créions une table nommée étudiants en utilisant l'instruction CREATE comme indiqué ci-dessous -
CREATE TABLE students( id INTEGER NOT NULL PRIMARY KEY, name VARCHAR(15) NOT NULL, email VARCHAR(20) NOT NULL, created_at VARCHAR(27), updated_at VARCHAR(27), address VARCHAR(30) NOT NULL, age INTEGER );
Supposons que nous ayons rempli le tableau ci-dessus avec les données suivantes -
+----+---------------+------------------+---------------------+---------------------+---------+------+ | id | name | email | created_at | updated_at | address | age | +----+---------------+------------------+---------------------+---------------------+---------+------+ | 1 | Siya Khan | siya@gmail.com | 2022-05-01 13:45:55 | 2022-05-01 13:45:55 | xyz | 20 | | 2 | Rehan Khan | rehan@gmail.com | 2022-05-01 13:49:50 | 2022-05-01 13:49:50 | xyz | 18 | | 3 | Rehan Khan | rehan@gmail.com | NULL | NULL | testing | 20 | | 4 | Rehan | rehan@gmail.com | NULL | 2022-05-29 14:17:02 | abcd | 50 | | 5 | Nidhi Agarwal | nidhi@gmail.com | NULL | NULL | abcd | 20 | | 6 | Ashvik Khanna | ashvik@gmail.com | NULL | NULL | oooo | 16 | | 7 | Viraj Desai | viraj@gmail.com | NULL | NULL | test | 18 | | 8 | Priya Singh | priya@gmail.com | NULL | NULL | test123 | 20 | | 9 | Arbaaz | arbaaz@gmail.com | 2022-05-29 14:11:09 | 2022-05-29 14:11:09 | testing | 35 | | 10 |Niketan Vaahi |niketan@gmail.com | NULL | NULL | testing | 35 | +----+---------------+------------------+---------------------+---------------------+---------+------+
Utilisez la méthode insert()
La méthodeinsert() ajoutera un enregistrement dans la table donnée. Il prend l'entrée sous forme de tableau contenant des données dans des paires clé/valeur, où la clé est le nom de la colonne et la valeur est la valeur à attribuer à la colonne. Le code est le suivant -
DB::table('students')->insert([ 'name' => 'Niya Sethi', 'email' => 'niya@gmail.com', 'age'=>'20', 'address'=>'Mumbai' ]);
L'extrait de code ci-dessus ajoute les lignes suivantes à la table students.
11, 'Niya Sethi', 'niya@gmail.com', 'Mumbai', 20
En utilisant la méthode insert() de façade de base de données, vous pouvez insérer plusieurs enregistrements comme indiqué ci-dessous -
DB::table('students')->insert([ ['name' => 'Peter', 'email' => 'peter@gmail.com', 'age'=>'20', 'address'=>'Chicago'], ['name' => 'David', 'email' => 'david@gmail.com', 'age'=>'20', 'address'=>'London'], ['name' => 'Niraj', 'email' => 'niraj@gmail.com', 'age'=>'20', 'address'=>'Mumbai'], ['name' => 'Sumit', 'email' => 'sumit@gmail.com', 'age'=>'20', 'address'=>'Kerala'] ]);
Le code complet est -
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function index() { DB::table('students')->insert([ ['name' => 'Peter', 'email' => 'peter@gmail.com', 'age'=>'20', 'address'=>'Chicago'], ['name' => 'David', 'email' => 'david@gmail.com', 'age'=>'20', 'address'=>'London'], ['name' => 'Niraj', 'email' => 'niraj@gmail.com', 'age'=>'20', 'address'=>'Mumbai'], ['name' => 'Sumit', 'email' => 'sumit@gmail.com', 'age'=>'20', 'address'=>'Kerala'] ]); } }
L'extrait de code ci-dessus ajoute les lignes suivantes au tableau students -
14, 'Peter', 'peter@gmail.com', 'Chicago', 20 15, 'David', 'david@gmail.com', 'London', 20 16, 'Niraj', 'niraj@gmail.com', 'Mumbai', 20 17, 'Sumit', 'sumit@gmail.com', 'Kerala', 20
Nous pouvons également utiliser les valeurs originales insérées dans le tableau. Le code est le suivant -
DB::insert('insert into students (name, email, age,address) values (?, ?, ?, ?)', ['Niyati', 'niyati@gmail.com', 19, 'Pune']);
Voici l'exemple complet d'insertion de valeurs originales dans le tableau -
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function index() { DB::insert('insert into students (name, email, age,address) values (?, ?, ?, ?)', ['Niyati', 'niyati@gmail.com', 19, 'Pune']); } }
L'extrait de code ci-dessus ajoute les lignes suivantes à la table students
12, 'Niyati', 'niyati@gmail.com', 'Pune', 19
Nous pouvons utiliser un étudiant modèle éloquent pour insérer des données dans un tableau. Un modèle Eloquent est une classe unique créée pour chaque table, et la classe de modèle associée à cette table est utilisée pour toutes les requêtes liées à cette table.
Le code est -
$student = new Student; $student->name = 'Amar'; $student->email = 'amar@gmail.com'; $student->age = 25; $student->address = 'Lucknow'; $student->save();
L'exemple suivant insère des données brutes dans une table dans MySQL -
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Student; class StudentController extends Controller { public function index() { $student = new Student; $student->name = 'Amar'; $student->email = 'amar@gmail.com'; $student->age = 25; $student->address = 'Lucknow'; $student->save(); } }
Après avoir exécuté le code ci-dessus, les lignes suivantes seront ajoutées au tableau Étudiants -
13, 'Amar', 'amar@gmail.com', 'Lucknow', 25
Enfin, si vous validez la table dans MySQL, vous pouvez voir tous les enregistrements comme indiqué ci-dessous -
mysql> select * from students; +----+---------------+-------------------+---------------------+---------------------+---------+------+ | id | name | email | created_at | updated_at | address | age | +----+---------------+-------------------+---------------------+---------------------+---------+------+ | 1 | Siya Khan | siya@gmail.com | 2022-05-01 13:45:55 | 2022-05-01 13:45:55 | Xyz | 20 | | 2 | Rehan Khan | rehan@gmail.com | 2022-05-01 13:49:50 | 2022-05-01 13:49:50 | Xyz | 18 | | 3 | Rehan Khan | rehan@gmail.com | NULL | NULL | testing | 20 | | 4 | Rehan | rehan@gmail.com | NULL | NULL | abcd | 15 | | 5 | Nidhi Agarwal | nidhi@gmail.com | NULL | NULL | abcd | 20 | | 6 | Ashvik Khanna | ashvik@gmail.com | NULL | NULL | oooo | 16 | | 7 | Viraj Desai | viraj@gmail.com | NULL | NULL | test | 18 | | 8 | Priya Singh | priya@gmail.com | NULL | NULL | test123 | 20 | | 9 | Arbaaz | arbaaz@gmail.com | 2022-05-29 14:11:09 | 2022-05-29 14:11:09 | testing | 35 | | 10 | Niketan Vaahi | niketan@gmail.com | NULL | NULL | testing | 35 | | 11 | Niya Sethi | niya@gmail.com | NULL | NULL | Mumbai | 20 | | 12 | Niyati | niyati@gmail.com | NULL | NULL | Pune | 19 | | 13 | Amar | amar@gmail.com | NULL | NULL | Lucknow | 25 | | 14 | Peter | peter@gmail.com | NULL | NULL | Chicago | 20 | | 15 | David | david@gmail.com | NULL | NULL | London | 20 | | 16 | Niraj | niraj@gmail.com | NULL | NULL | Mumbai | 20 | | 17 | Sumit | sumit@gmail.com | NULL | NULL | Kerala | 20 | +----+---------------+-------------------+---------------------+---------------------+---------+------+ 17 rows in set (0.00 sec)
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!