Laravel giúp kết nối với cơ sở dữ liệu và chạy truy vấn cực kỳ đơn giản. Tệp cấu hình cơ sở dữ liệu là
$results = DB::select['select * from users where id = ?', array[1]];
2. Trong tệp này, bạn có thể xác định tất cả các kết nối cơ sở dữ liệu của mình, cũng như chỉ định kết nối nào sẽ được sử dụng theo mặc định. Các ví dụ cho tất cả các hệ thống cơ sở dữ liệu được hỗ trợ được cung cấp trong tệp nàyHiện tại Laravel hỗ trợ bốn hệ thống cơ sở dữ liệu. MySQL, Postgres, SQLite và SQL Server
Đọc/Ghi kết nối
Đôi khi, bạn có thể muốn sử dụng một kết nối cơ sở dữ liệu cho các câu lệnh SELECT và một kết nối khác cho các câu lệnh INSERT, UPDATE và DELETE. Laravel làm cho điều này trở nên dễ dàng và các kết nối phù hợp sẽ luôn được sử dụng cho dù bạn đang sử dụng truy vấn thô, trình tạo truy vấn hay Eloquent ORM
Để xem cách cấu hình các kết nối đọc/ghi, hãy xem ví dụ này
'collation' => 'utf8_unicode_ci',
Lưu ý rằng hai khóa đã được thêm vào mảng cấu hình.
$results = DB::select['select * from users where id = ?', array[1]];
3 và $results = DB::select['select * from users where id = ?', array[1]];
4. Cả hai khóa này đều có các giá trị mảng chứa một khóa duy nhất. $results = DB::select['select * from users where id = ?', array[1]];
5. Phần còn lại của các tùy chọn cơ sở dữ liệu cho các kết nối $results = DB::select['select * from users where id = ?', array[1]];
3 và $results = DB::select['select * from users where id = ?', array[1]];
4 sẽ được hợp nhất từ mảng chính $results = DB::select['select * from users where id = ?', array[1]];
8. Vì vậy, chúng tôi chỉ cần đặt các mục trong mảng $results = DB::select['select * from users where id = ?', array[1]];
3 và $results = DB::select['select * from users where id = ?', array[1]];
4 nếu chúng tôi muốn ghi đè các giá trị trong mảng chính. Vì vậy, trong trường hợp này, 'collation' => 'utf8_unicode_ci',
01 sẽ được sử dụng làm kết nối "đọc", trong khi 'collation' => 'utf8_unicode_ci',
02 sẽ được sử dụng làm kết nối "ghi". Thông tin đăng nhập cơ sở dữ liệu, tiền tố, bộ ký tự và tất cả các tùy chọn khác trong mảng chính $results = DB::select['select * from users where id = ?', array[1]];
8 sẽ được chia sẻ trên cả hai kết nốiChạy truy vấn
Khi bạn đã định cấu hình kết nối cơ sở dữ liệu của mình, bạn có thể chạy các truy vấn bằng lớp
'collation' => 'utf8_unicode_ci',
04Chạy một truy vấn chọn
$results = DB::select['select * from users where id = ?', array[1]];
Phương thức
'collation' => 'utf8_unicode_ci',
05 sẽ luôn trả về một kết quả 'collation' => 'utf8_unicode_ci',
06Chạy câu lệnh chèn
'collation' => 'utf8_unicode_ci',
0Chạy một câu lệnh cập nhật
'collation' => 'utf8_unicode_ci',
8Chạy câu lệnh xóa
'collation' => 'utf8_unicode_ci',
9Ghi chú. Các câu lệnh
07 và
'collation' => 'utf8_unicode_ci',
08 trả về số hàng bị ảnh hưởng bởi thao tác
'collation' => 'utf8_unicode_ci',
Chạy một tuyên bố chung
$results = DB::select['select * from users where id = ?', array[1]];
2Lắng nghe các sự kiện truy vấn
Bạn có thể lắng nghe các sự kiện truy vấn bằng phương pháp
'collation' => 'utf8_unicode_ci',
09$results = DB::select['select * from users where id = ?', array[1]];
4Giao dịch cơ sở dữ liệu
Để chạy một tập hợp các hoạt động trong một giao dịch cơ sở dữ liệu, bạn có thể sử dụng phương pháp
'collation' => 'utf8_unicode_ci',
80$results = DB::select['select * from users where id = ?', array[1]];
6Ghi chú. Bất kỳ ngoại lệ nào được đưa ra trong phần đóng của
80 sẽ khiến giao dịch tự động được khôi phục
'collation' => 'utf8_unicode_ci',
Đôi khi bạn có thể cần phải tự bắt đầu một giao dịch
Bạn có thể khôi phục giao dịch thông qua phương pháp
'collation' => 'utf8_unicode_ci',
82Cuối cùng, bạn có thể thực hiện một giao dịch thông qua phương pháp
'collation' => 'utf8_unicode_ci',
83Truy cập kết nối
Khi sử dụng nhiều kết nối, bạn có thể truy cập chúng thông qua phương thức
'collation' => 'utf8_unicode_ci',
84$results = DB::select['select * from users where id = ?', array[1]];
1Bạn cũng có thể truy cập phiên bản PDO thô, nằm bên dưới
$results = DB::select['select * from users where id = ?', array[1]];
2Đôi khi bạn có thể cần phải kết nối lại với một cơ sở dữ liệu nhất định
Nếu bạn cần ngắt kết nối khỏi cơ sở dữ liệu nhất định do vượt quá giới hạn
'collation' => 'utf8_unicode_ci',
85 của phiên bản PDO cơ bản, hãy sử dụng phương pháp 'collation' => 'utf8_unicode_ci',
86Ghi nhật ký truy vấn
Theo mặc định, Laravel giữ một bản ghi trong bộ nhớ của tất cả các truy vấn đã được chạy cho yêu cầu hiện tại. Tuy nhiên, trong một số trường hợp, chẳng hạn như khi chèn một số lượng lớn hàng, điều này có thể khiến ứng dụng sử dụng bộ nhớ dư thừa. Để tắt nhật ký, bạn có thể sử dụng phương thức
'collation' => 'utf8_unicode_ci',
87