Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk memasukkan data mentah ke dalam pangkalan data MySQL dalam Laravel?
Anda boleh menggunakan alat pembina pertanyaan untuk memasukkan data mentah dalam jadual MySQL. Anda mesti memasukkan kelas : IlluminateSupportFacadesDB atau menggunakan pangkalan data
;Andaikan kita mencipta jadual bernama pelajar menggunakan kenyataan CREATE seperti yang ditunjukkan di bawah -
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 );
Andaikan kita telah mengisi jadual di atas dengan data berikut -
+----+---------------+------------------+---------------------+---------------------+---------+------+ | 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 | +----+---------------+------------------+---------------------+---------------------+---------+------+
Gunakan kaedah insert()
Kaedahinsert() akan menambah rekod dalam jadual yang diberikan. Ia mengambil input sebagai tatasusunan yang mengandungi data dalam pasangan kunci/nilai, dengan kunci ialah nama lajur dan nilai ialah nilai yang akan diberikan kepada lajur. Kodnya adalah seperti berikut -
DB::table('students')->insert([ 'name' => 'Niya Sethi', 'email' => 'niya@gmail.com', 'age'=>'20', 'address'=>'Mumbai' ]);
Coretan kod di atas menambah baris berikut pada jadual pelajar.
11, 'Niya Sethi', 'niya@gmail.com', 'Mumbai', 20
Menggunakan kaedah sisipan fasad pangkalan data (), anda boleh memasukkan berbilang rekod seperti yang ditunjukkan di bawah -
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'] ]);
Kod lengkap ialah -
<?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'] ]); } }
Coretan kod di atas menambah baris berikut pada jadual pelajar -
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
Kami juga boleh menggunakan nilai yang dimasukkan asal daripada jadual. Kodnya adalah seperti berikut -
DB::insert('insert into students (name, email, age,address) values (?, ?, ?, ?)', ['Niyati', 'niyati@gmail.com', 19, 'Pune']);
Berikut ialah contoh lengkap memasukkan nilai asal ke dalam jadual -
<?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']); } }
Coretan kod di atas menambah baris berikut pada jadual pelajar
12, 'Niyati', 'niyati@gmail.com', 'Pune', 19
Kita boleh menggunakan pelajar model yang fasih untuk memasukkan data ke dalam jadual. Model Eloquent ialah kelas unik yang dicipta untuk setiap jadual, dan kelas model yang dikaitkan dengan jadual itu digunakan untuk semua pertanyaan yang berkaitan dengan jadual itu.
Kodnya ialah -
$student = new Student; $student->name = 'Amar'; $student->email = 'amar@gmail.com'; $student->age = 25; $student->address = 'Lucknow'; $student->save();
Contoh berikut memasukkan data mentah ke dalam jadual dalam 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(); } }
Selepas melaksanakan kod di atas, baris berikut akan ditambahkan pada jadual Pelajar -
13, 'Amar', 'amar@gmail.com', 'Lucknow', 25
Akhir sekali, jika anda mengesahkan jadual dalam MySQL, anda boleh melihat semua rekod seperti yang ditunjukkan di bawah -
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)
Atas ialah kandungan terperinci Bagaimana untuk memasukkan data mentah ke dalam pangkalan data MySQL dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!