Laravel nơi ngày giữa hai cột

Trình tạo truy vấn cơ sở dữ liệu cung cấp giao diện thuận tiện, thông thạo để tạo và chạy các truy vấn cơ sở dữ liệu. Nó có thể được sử dụng để thực hiện hầu hết các hoạt động cơ sở dữ liệu trong ứng dụng của bạn và hoạt động trên tất cả các hệ thống cơ sở dữ liệu được hỗ trợ

Ghi chú. Trình tạo truy vấn Laravel sử dụng liên kết tham số PDO để bảo vệ ứng dụng của bạn khỏi các cuộc tấn công SQL injection. Không cần xóa các chuỗi được truyền dưới dạng ràng buộc

Truy xuất kết quả

Lấy tất cả các hàng từ một bảng

Để bắt đầu một truy vấn trôi chảy, hãy sử dụng phương pháp

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

4 trên mặt tiền

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

5. Phương thức

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

4 trả về một phiên bản trình tạo truy vấn trôi chảy cho bảng đã cho, cho phép bạn xâu chuỗi nhiều ràng buộc hơn vào truy vấn và cuối cùng nhận được kết quả. Trong ví dụ này, hãy chỉ

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

7 tất cả các bản ghi từ một bảng

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class UserController extends Controller

* Show a list of all of the application's users.

$users = DB::table('users')->get();

return view('user.index', ['users' => $users]);

Giống như các truy vấn thô, phương thức

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

7 trả về một

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

9 kết quả trong đó mỗi kết quả là một thể hiện của đối tượng PHP

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

0. Bạn có thể truy cập giá trị của từng cột bằng cách truy cập cột dưới dạng thuộc tính của đối tượng

Truy xuất một hàng/cột từ một bảng

Nếu bạn chỉ cần truy xuất một hàng từ bảng cơ sở dữ liệu, bạn có thể sử dụng phương thức

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

1. Phương thức này sẽ trả về một đối tượng

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

0

$user = DB::table('users')->where('name', 'John')->first();

Nếu bạn thậm chí không cần toàn bộ hàng, bạn có thể trích xuất một giá trị từ bản ghi bằng phương thức

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

3. Phương thức này sẽ trả về giá trị của cột trực tiếp

$email = DB::table('users')->where('name', 'John')->value('email');

Chunking kết quả từ một bảng

Nếu bạn cần làm việc với hàng nghìn bản ghi cơ sở dữ liệu, hãy cân nhắc sử dụng phương pháp

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

4. Phương pháp này truy xuất một "khối" kết quả nhỏ tại một thời điểm và đưa từng đoạn đó vào một

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

5 để xử lý. Phương pháp này rất hữu ích để viết các lệnh Artisan xử lý hàng nghìn bản ghi. Ví dụ: hãy làm việc với toàn bộ bảng

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

6 theo khối 100 bản ghi cùng một lúc

DB::table('users')->orderBy('id')->chunk(100, function($users) {

Bạn có thể ngừng xử lý các khối tiếp theo bằng cách trả lại

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

7 từ

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

5

DB::table('users')->orderBy('id')->chunk(100, function($users) {

Truy xuất danh sách các giá trị cột

Nếu bạn muốn truy xuất một mảng chứa các giá trị của một cột, bạn có thể sử dụng phương thức

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

9. Trong ví dụ này, chúng tôi sẽ truy xuất một mảng các chức danh vai trò

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

Bạn cũng có thể chỉ định cột khóa tùy chỉnh cho mảng được trả về

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

uẩn

Trình tạo truy vấn cũng cung cấp nhiều phương pháp tổng hợp, chẳng hạn như

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

0,

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

1,

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

2,

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

3 và

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

4. Bạn có thể gọi bất kỳ phương thức nào sau khi xây dựng truy vấn của mình

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

Tất nhiên, bạn có thể kết hợp các phương thức này với các mệnh đề khác để xây dựng truy vấn của mình

$price = DB::table('orders')

chọn

Chỉ định một mệnh đề chọn

Tất nhiên, không phải lúc nào bạn cũng muốn chọn tất cả các cột từ bảng cơ sở dữ liệu. Sử dụng phương thức

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

5, bạn có thể chỉ định mệnh đề

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

5 tùy chỉnh cho truy vấn

$users = DB::table('users')->select('name', 'email as user_email')->get();

Phương thức

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

7 cho phép bạn buộc truy vấn trả về các kết quả khác biệt

$user = DB::table('users')->where('name', 'John')->first();

0

Nếu bạn đã có một phiên bản trình tạo truy vấn và bạn muốn thêm một cột vào mệnh đề chọn hiện có của nó, bạn có thể sử dụng phương thức

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

8

$user = DB::table('users')->where('name', 'John')->first();

1

biểu thức thô

Đôi khi bạn có thể cần sử dụng biểu thức thô trong truy vấn. Các biểu thức này sẽ được đưa vào truy vấn dưới dạng chuỗi, vì vậy hãy cẩn thận để không tạo bất kỳ điểm chèn SQL nào. Để tạo một biểu thức thô, bạn có thể sử dụng phương thức

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

9

$user = DB::table('users')->where('name', 'John')->first();

2

tham gia

Tuyên bố tham gia bên trong

Trình tạo truy vấn cũng có thể được sử dụng để viết các câu lệnh nối. Để thực hiện "nối bên trong" SQL cơ bản, bạn có thể sử dụng phương thức

$price = DB::table('orders')

0 trên phiên bản trình tạo truy vấn. Đối số đầu tiên được truyền cho phương thức

$price = DB::table('orders')

0 là tên của bảng mà bạn cần nối, trong khi các đối số còn lại chỉ định các ràng buộc cột cho phép nối. Tất nhiên, như bạn có thể thấy, bạn có thể tham gia nhiều bảng trong một truy vấn

$user = DB::table('users')->where('name', 'John')->first();

3

Tuyên bố tham gia trái

Nếu bạn muốn thực hiện "nối bên trái" thay vì "nối bên trong", hãy sử dụng phương thức

$price = DB::table('orders')

2. Phương thức

$price = DB::table('orders')

2 có cùng chữ ký với phương thức

$price = DB::table('orders')

0

$user = DB::table('users')->where('name', 'John')->first();

4

Tuyên bố tham gia chéo

Để thực hiện "nối chéo", hãy sử dụng phương pháp

$price = DB::table('orders')

5 với tên của bảng bạn muốn nối chéo với. Tham gia chéo tạo ra một sản phẩm cartesian giữa bảng đầu tiên và bảng đã tham gia

$user = DB::table('users')->where('name', 'John')->first();

5

Tuyên bố tham gia nâng cao

Bạn cũng có thể chỉ định các mệnh đề nối nâng cao hơn. Để bắt đầu, hãy chuyển một

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

5 làm đối số thứ hai vào phương thức

$price = DB::table('orders')

0.

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

5 sẽ nhận được một đối tượng

$price = DB::table('orders')

9 cho phép bạn chỉ định các ràng buộc đối với mệnh đề

$price = DB::table('orders')

0

$user = DB::table('users')->where('name', 'John')->first();

6

Nếu bạn muốn sử dụng mệnh đề kiểu "where" trong phép nối của mình, bạn có thể sử dụng các phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

1 và

$users = DB::table('users')->select('name', 'email as user_email')->get();

2 trên phép nối. Thay vì so sánh hai cột, các phương thức này sẽ so sánh cột với một giá trị

$user = DB::table('users')->where('name', 'John')->first();

7

đoàn thể

Trình tạo truy vấn cũng cung cấp một cách nhanh chóng để "kết hợp" hai truy vấn với nhau. Ví dụ: bạn có thể tạo một truy vấn ban đầu, sau đó sử dụng phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

3 để kết hợp truy vấn đó với truy vấn thứ hai

$user = DB::table('users')->where('name', 'John')->first();

8

Phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

4 cũng có sẵn và có chữ ký phương thức giống như phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

3

mệnh đề ở đâu

Mệnh đề Where đơn giản

Để thêm mệnh đề

$users = DB::table('users')->select('name', 'email as user_email')->get();

1 vào truy vấn, hãy sử dụng phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

1 trên phiên bản trình tạo truy vấn. Cuộc gọi cơ bản nhất tới

$users = DB::table('users')->select('name', 'email as user_email')->get();

1 yêu cầu ba đối số. Đối số đầu tiên là tên của cột. Đối số thứ hai là một toán tử, có thể là bất kỳ toán tử nào được cơ sở dữ liệu hỗ trợ. Đối số thứ ba là giá trị để đánh giá đối với cột

Ví dụ: đây là truy vấn xác minh giá trị của cột "phiếu bầu" bằng 100

$user = DB::table('users')->where('name', 'John')->first();

9

Để thuận tiện, nếu bạn chỉ muốn xác minh rằng một cột bằng với một giá trị nhất định, bạn có thể chuyển trực tiếp giá trị đó làm đối số thứ hai cho phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

1

$email = DB::table('users')->where('name', 'John')->value('email');

0

Tất nhiên, bạn có thể sử dụng nhiều toán tử khác khi viết mệnh đề

$users = DB::table('users')->select('name', 'email as user_email')->get();

1

$email = DB::table('users')->where('name', 'John')->value('email');

1

Bạn cũng có thể chuyển một loạt các điều kiện cho hàm

$users = DB::table('users')->select('name', 'email as user_email')->get();

1

$email = DB::table('users')->where('name', 'John')->value('email');

2

Hoặc Tuyên bố

Bạn có thể xâu chuỗi các ràng buộc where lại với nhau, cũng như thêm mệnh đề

$user = DB::table('users')->where('name', 'John')->first();

02 vào truy vấn. Phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

2 chấp nhận các đối số giống như phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

1

$email = DB::table('users')->where('name', 'John')->value('email');

3

Các mệnh đề bổ sung

ở đâu giữa

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

05 xác minh rằng giá trị của cột nằm giữa hai giá trị

$email = DB::table('users')->where('name', 'John')->value('email');

4

whereNotBetween

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

06 xác minh rằng giá trị của cột nằm ngoài hai giá trị

$email = DB::table('users')->where('name', 'John')->value('email');

5

ở đâu / không ở đâu

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

07 xác minh rằng giá trị của một cột đã cho được chứa trong mảng đã cho

$email = DB::table('users')->where('name', 'John')->value('email');

3

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

08 xác minh rằng giá trị của cột đã cho không có trong mảng đã cho

$email = DB::table('users')->where('name', 'John')->value('email');

7

whereNull / whereNotNull

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

09 xác minh rằng giá trị của cột đã cho là

$user = DB::table('users')->where('name', 'John')->first();

10

$email = DB::table('users')->where('name', 'John')->value('email');

8

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

11 xác minh rằng giá trị của cột không phải là

$user = DB::table('users')->where('name', 'John')->first();

10

$email = DB::table('users')->where('name', 'John')->value('email');

9

ở đâuCột

Phương pháp

$user = DB::table('users')->where('name', 'John')->first();

13 có thể được sử dụng để xác minh rằng hai cột bằng nhau

DB::table('users')->orderBy('id')->chunk(100, function($users) {

0

Bạn cũng có thể chuyển toán tử so sánh cho phương thức

DB::table('users')->orderBy('id')->chunk(100, function($users) {

1

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

13 cũng có thể được truyền vào một mảng gồm nhiều điều kiện. Các điều kiện này sẽ được nối bằng cách sử dụng toán tử

$user = DB::table('users')->where('name', 'John')->first();

15

DB::table('users')->orderBy('id')->chunk(100, function($users) {

2

Mệnh đề nâng cao

Nhóm thông số

Đôi khi, bạn có thể cần tạo các mệnh đề where nâng cao hơn, chẳng hạn như "nơi tồn tại" hoặc các nhóm tham số lồng nhau. Trình tạo truy vấn của Laravel cũng có thể xử lý những điều này. Để bắt đầu, hãy xem một ví dụ về ràng buộc nhóm trong ngoặc đơn

DB::table('users')->orderBy('id')->chunk(100, function($users) {

3

Như bạn có thể thấy, việc chuyển một

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

5 vào phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

2 sẽ hướng dẫn trình tạo truy vấn bắt đầu một nhóm ràng buộc.

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

5 sẽ nhận được một phiên bản trình tạo truy vấn mà bạn có thể sử dụng để đặt các ràng buộc nên có trong nhóm dấu ngoặc đơn. Ví dụ trên sẽ tạo ra SQL sau

DB::table('users')->orderBy('id')->chunk(100, function($users) {

4

Tồn tại báo cáo

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

19 cho phép bạn viết

$user = DB::table('users')->where('name', 'John')->first();

20 mệnh đề SQL. Phương thức

$user = DB::table('users')->where('name', 'John')->first();

19 chấp nhận đối số

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

5, đối số này sẽ nhận một phiên bản trình tạo truy vấn cho phép bạn xác định truy vấn sẽ được đặt bên trong mệnh đề "tồn tại"

DB::table('users')->orderBy('id')->chunk(100, function($users) {

5

Truy vấn trên sẽ tạo ra SQL sau

DB::table('users')->orderBy('id')->chunk(100, function($users) {

6

Mệnh đề JSON ở đâu

Laravel hỗ trợ truy vấn các loại cột JSON trên cơ sở dữ liệu cung cấp hỗ trợ cho các loại cột JSON. Hiện tại, điều này bao gồm MySQL 5. 7 và Postgres. Để truy vấn một cột JSON, hãy sử dụng toán tử

$user = DB::table('users')->where('name', 'John')->first();

23

DB::table('users')->orderBy('id')->chunk(100, function($users) {

7

Đặt hàng, nhóm, giới hạn và bù đắp

đặt bởi

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

24 cho phép bạn sắp xếp kết quả của truy vấn theo một cột nhất định. Đối số đầu tiên của phương thức

$user = DB::table('users')->where('name', 'John')->first();

24 phải là cột mà bạn muốn sắp xếp theo, trong khi đối số thứ hai kiểm soát hướng sắp xếp và có thể là

$user = DB::table('users')->where('name', 'John')->first();

26 hoặc

$user = DB::table('users')->where('name', 'John')->first();

27

$email = DB::table('users')->where('name', 'John')->value('email');

3

theo thứ tự ngẫu nhiên

Phương pháp

$user = DB::table('users')->where('name', 'John')->first();

28 có thể được sử dụng để sắp xếp các kết quả truy vấn một cách ngẫu nhiên. Ví dụ: bạn có thể sử dụng phương pháp này để tìm nạp một người dùng ngẫu nhiên

DB::table('users')->orderBy('id')->chunk(100, function($users) {

9

nhómBy / có / cóRaw

Các phương pháp

$user = DB::table('users')->where('name', 'John')->first();

29 và

$user = DB::table('users')->where('name', 'John')->first();

30 có thể được sử dụng để nhóm các kết quả truy vấn. Chữ ký của phương thức

$user = DB::table('users')->where('name', 'John')->first();

30 tương tự như chữ ký của phương thức

$users = DB::table('users')->select('name', 'email as user_email')->get();

1

DB::table('users')->orderBy('id')->chunk(100, function($users) {

0

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

33 có thể được sử dụng để đặt một chuỗi thô làm giá trị của mệnh đề

$user = DB::table('users')->where('name', 'John')->first();

30. Ví dụ: chúng tôi có thể tìm thấy tất cả các bộ phận có doanh thu lớn hơn $2.500

DB::table('users')->orderBy('id')->chunk(100, function($users) {

1

bỏ qua / lấy

Để giới hạn số kết quả trả về từ truy vấn hoặc bỏ qua một số kết quả nhất định trong truy vấn (

$user = DB::table('users')->where('name', 'John')->first();

35), bạn có thể sử dụng các phương thức

$user = DB::table('users')->where('name', 'John')->first();

36 và

$user = DB::table('users')->where('name', 'John')->first();

37

DB::table('users')->orderBy('id')->chunk(100, function($users) {

2

Câu điều kiện

Đôi khi bạn có thể muốn các câu lệnh chỉ áp dụng cho một truy vấn khi điều gì đó khác là đúng. Chẳng hạn, bạn có thể chỉ muốn áp dụng câu lệnh

$users = DB::table('users')->select('name', 'email as user_email')->get();

1 nếu một giá trị đầu vào nhất định có trong yêu cầu đến. Bạn có thể thực hiện điều này bằng cách sử dụng phương pháp

$user = DB::table('users')->where('name', 'John')->first();

39

DB::table('users')->orderBy('id')->chunk(100, function($users) {

3

Phương thức

$user = DB::table('users')->where('name', 'John')->first();

39 chỉ thực hiện Closure đã cho khi tham số đầu tiên là

$user = DB::table('users')->where('name', 'John')->first();

41. Nếu tham số đầu tiên là

$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {

7 thì Closure sẽ không được thực thi

phụ trang

Trình tạo truy vấn cũng cung cấp một phương thức

$user = DB::table('users')->where('name', 'John')->first();

43 để chèn các bản ghi vào bảng cơ sở dữ liệu. Phương thức

$user = DB::table('users')->where('name', 'John')->first();

43 chấp nhận một mảng tên cột và giá trị để chèn

DB::table('users')->orderBy('id')->chunk(100, function($users) {

4

Bạn thậm chí có thể chèn nhiều bản ghi vào bảng chỉ bằng một lệnh gọi tới

$user = DB::table('users')->where('name', 'John')->first();

43 bằng cách chuyển một mảng các mảng. Mỗi mảng đại diện cho một hàng được chèn vào bảng

DB::table('users')->orderBy('id')->chunk(100, function($users) {

5

ID tăng tự động

Nếu bảng có id tăng tự động, hãy sử dụng phương thức

$user = DB::table('users')->where('name', 'John')->first();

46 để chèn bản ghi rồi truy xuất ID

DB::table('users')->orderBy('id')->chunk(100, function($users) {

6

Ghi chú. Khi sử dụng PostgreSQL, phương thức insertGetId yêu cầu cột tăng tự động có tên là

$user = DB::table('users')->where('name', 'John')->first();

47. Nếu bạn muốn truy xuất ID từ một "dãy" khác, bạn có thể chuyển tên dãy làm tham số thứ hai cho phương thức

$user = DB::table('users')->where('name', 'John')->first();

46

cập nhật

Tất nhiên, ngoài việc chèn các bản ghi vào cơ sở dữ liệu, trình xây dựng truy vấn cũng có thể cập nhật các bản ghi hiện có bằng cách sử dụng phương thức

$user = DB::table('users')->where('name', 'John')->first();

49. Phương thức

$user = DB::table('users')->where('name', 'John')->first();

49, giống như phương thức

$user = DB::table('users')->where('name', 'John')->first();

43, chấp nhận một mảng các cặp cột và giá trị chứa các cột sẽ được cập nhật. Bạn có thể hạn chế truy vấn

$user = DB::table('users')->where('name', 'John')->first();

49 bằng cách sử dụng mệnh đề

$users = DB::table('users')->select('name', 'email as user_email')->get();

1

Tăng giảm

Trình tạo truy vấn cũng cung cấp các phương thức thuận tiện để tăng hoặc giảm giá trị của một cột nhất định. Đây chỉ đơn giản là một lối tắt, cung cấp một giao diện ngắn gọn và biểu cảm hơn so với việc viết câu lệnh

$user = DB::table('users')->where('name', 'John')->first();

49 theo cách thủ công

Cả hai phương thức này đều chấp nhận ít nhất một đối số. cột để sửa đổi. Đối số thứ hai có thể được chuyển tùy ý để kiểm soát số lượng mà theo đó cột sẽ được tăng/giảm

DB::table('users')->orderBy('id')->chunk(100, function($users) {

7

Bạn cũng có thể chỉ định các cột bổ sung để cập nhật trong quá trình hoạt động

DB::table('users')->orderBy('id')->chunk(100, function($users) {

8

xóa

Tất nhiên, trình tạo truy vấn cũng có thể được sử dụng để xóa các bản ghi khỏi bảng thông qua phương thức

$user = DB::table('users')->where('name', 'John')->first();

55

DB::table('users')->orderBy('id')->chunk(100, function($users) {

9

Bạn có thể hạn chế câu lệnh

$user = DB::table('users')->where('name', 'John')->first();

55 bằng cách thêm mệnh đề

$users = DB::table('users')->select('name', 'email as user_email')->get();

1 trước khi gọi phương thức

$user = DB::table('users')->where('name', 'John')->first();

55

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

0

Nếu bạn muốn cắt bớt toàn bộ bảng, thao tác này sẽ xóa tất cả các hàng và đặt lại ID tăng tự động về 0, bạn có thể sử dụng phương pháp

$user = DB::table('users')->where('name', 'John')->first();

59

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

1

khóa bi quan

Trình tạo truy vấn cũng bao gồm một vài chức năng để giúp bạn thực hiện "khóa bi quan" trên các câu lệnh

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');

5 của mình. Để chạy câu lệnh với "khóa chia sẻ", bạn có thể sử dụng phương thức

$user = DB::table('users')->where('name', 'John')->first();

61 trên một truy vấn. Khóa dùng chung ngăn các hàng đã chọn bị sửa đổi cho đến khi giao dịch của bạn được thực hiện

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {

2

Ngoài ra, bạn có thể sử dụng phương pháp

$user = DB::table('users')->where('name', 'John')->first();

62. Khóa "để cập nhật" ngăn không cho các hàng bị sửa đổi hoặc được chọn bằng một khóa dùng chung khác