Có một lỗi nhỏ trong mã của bạn với chuỗi câu lệnh where, bạn cũng có một câu lệnh trùng lặp trong mã của mình. thử mã bên dưới
$members = DB::table['members']
->where['name', 'like', '%' . $request->search . '%']
->where['done_undone', '=', 'undone']
->orWhere['contact_number', 'like', '%' . $request->search . '%']
->orWhere['nid_number', 'like', '%' . $request->search . '%']
->orderBy['id', 'DESC']
->paginate[20];
Eloquent ORM đi kèm với Laravel cung cấp cho bạn một cách dễ dàng để tương tác với cơ sở dữ liệu của bạn. Điều này đơn giản hóa tất cả các hoạt động CRUD [Tạo, đọc, cập nhật và xóa] và bất kỳ truy vấn cơ sở dữ liệu nào khác
Trong khi xây dựng truy vấn Laravel của bạn cho dù sử dụng Eloquent Query hay DB Query builder, bạn thường phải sử dụng nhiều điều kiện where
Laravel cung cấp các phương thức xây dựng truy vấn và hùng biện đơn giản để truy vấn vào cơ sở dữ liệu. Phương thức where[] là mệnh đề cơ bản để truy vấn vào cơ sở dữ liệu. Chúng tôi gần như cần mệnh đề where trong mọi truy vấn
Xuyên suốt hướng dẫn, bạn sẽ học cách sử dụng nhiều điều kiện where trong Laravel eloquent và query builder. Bạn có thể sử dụng nhiều điều kiện để lọc nhiều cột vào cơ sở dữ liệu
Laravel bội số nơi có điều kiện — [VÀ]Theo mặc định, khi các điều kiện được xâu chuỗi với toán tử AND. Để tham gia thông qua toán tử OR, bạn sẽ phải sử dụng orWhere mà chúng ta sẽ nói tiếp theo
1] Cú pháp đơn giản
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
Ví dụ
Hãy tìm người dùng có tên = “John Doe” và email = “john@example. com”
$user = User::where['name','John Doe']->where['email','john@example.com']->first[];
2] Cú pháp mảng
...
->where[[
['column','operator','value'],
['column','operator','value'],
]]
...
Ví dụ
Hãy tạo lại ví dụ trên của chúng tôi ở dạng được nhóm
$user = User::where[[
['name','John Doe'],
['email','jdoe@example.com']
]]->first[];
Laravel bội số khi có điều kiện — [HOẶC]Trong trường hợp bạn muốn các mệnh đề của mình được nối với
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
9 thay vì $user = User::where['name','John Doe']->where['email','john@example.com']->first[];
0, bạn có thể sử dụng phương pháp $user = User::where['name','John Doe']->where['email','john@example.com']->first[];
0cú pháp
...
->where['column','operator','value']
->orWhere['column','operator','value']
...
Ví dụ
$user = User::where['email','jdoe@example.com']->orWhere['email','jhon@example.com']->first[];
Ví dụ trên có nghĩa là - Tìm cho tôi người dùng đầu tiên có email là 'jdoe@example. com’ hoặc ‘jhon@example. com’
Nhóm Nhiều AND-OR-AND khi có điều kiệnNếu bạn muốn nhóm nhiều điều kiện AND, OR & AND trong truy vấn của mình thì sao?
Bạn không thể xâu chuỗi trực tiếp nhiều điều kiện AND-OR-AND lại với nhau. Ghi nhớ — Trong SQL, bạn sẽ phải sử dụng dấu ngoặc đơn nếu muốn nhóm các điều kiện như vậy
cú pháp
________số 8Ở trên, bạn có thể thấy rằng tôi đã truyền một hàm đóng trong điều kiện where[] bên ngoài — Nó gói gọn các điều kiện bên trong trong dấu ngoặc đơn
Ví dụ
$users = User::where['status','active']->where[function[$query] {
$query->where['email','jdoe@example.com']
->orWhere['email','johndoe@example.com'];
}]->get[];
Ghi chú. Bạn cũng có thể lồng nhiều bao đóng mặc dù hãy đảm bảo các tên biến khác nhau cho mỗi bao đóng
Eloquent ORM đi kèm với Laravel cung cấp cho bạn một cách dễ dàng để tương tác với cơ sở dữ liệu của bạn. Điều này đơn giản hóa tất cả các hoạt động CRUD [Tạo, đọc, cập nhật và xóa] và bất kỳ truy vấn cơ sở dữ liệu nào khác
Trong khi xây dựng truy vấn Laravel của bạn cho dù sử dụng Eloquent Query hay DB Query builder, bạn thường phải sử dụng nhiều điều kiện where
Laravel cung cấp các phương thức xây dựng truy vấn và hùng biện đơn giản để truy vấn vào cơ sở dữ liệu. Phương thức where[] là mệnh đề cơ bản để truy vấn vào cơ sở dữ liệu. Chúng tôi gần như cần mệnh đề where trong mọi truy vấn
Xuyên suốt hướng dẫn, bạn sẽ học cách sử dụng nhiều điều kiện where trong Laravel eloquent và query builder. Bạn có thể sử dụng nhiều điều kiện để lọc nhiều cột vào cơ sở dữ liệu
Laravel bội số nơi có điều kiện - [VÀ]
Theo mặc định, nơi điều kiện được xâu chuỗi với toán tử AND . Để tham gia thông qua toán tử OR , bạn sẽ phải sử dụng hoặc Where mà chúng ta sẽ đề cập tiếp theo
1] Cú pháp đơn giản
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
0Ví dụ
Hãy tìm người dùng có tên = "John Doe" và email = "[email được bảo vệ]"
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
12] Cú pháp mảng
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
2Ví dụ
Hãy tạo lại ví dụ trên của chúng tôi ở dạng được nhóm
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
3Laravel bội số nơi có điều kiện - [OR]
Trong trường hợp bạn muốn các mệnh đề của mình được nối với
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
9 chứ không phải $user = User::where['name','John Doe']->where['email','john@example.com']->first[];
0, bạn có thể sử dụng phương pháp ...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
10cú pháp
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
5Ví dụ
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
6Ví dụ trên có nghĩa là - Tìm cho tôi người dùng đầu tiên có email là '[email được bảo vệ]' hoặc '[email được bảo vệ]'
Nhóm Nhiều AND-OR-AND khi có điều kiện
Nếu bạn muốn nhóm nhiều điều kiện AND, OR & AND trong truy vấn của mình thì sao?
Bạn không thể xâu chuỗi trực tiếp nhiều điều kiện AND-OR-AND lại với nhau. Hãy nhớ - Trong SQL, bạn sẽ phải sử dụng dấu ngoặc đơn nếu muốn nhóm các điều kiện như vậy
cú pháp
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
7Ở trên, bạn có thể thấy rằng tôi đã chuyển một hàm đóng trong điều kiện where[] bên ngoài - Nó gói gọn các điều kiện bên trong trong dấu ngoặc đơn
Ví dụ
...{{ADD_HERE}}
->where['column','operator','value']
->where['column','operator','value']
...
8Ghi chú. Bạn cũng có thể lồng nhiều bao đóng mặc dù hãy đảm bảo đặt các tên biến khác nhau cho mỗi bao đóng
Cảm ơn bạn đã đọc blog này
đọc thêm. Cách tối ưu hóa hiệu suất của Laravel
Nếu bạn muốn quản lý Máy chủ VPS / VM của mình mà không cần chạm vào dòng lệnh, hãy xem liên kết này. ServerAvatar cho phép bạn thiết lập nhanh các trang web WordPress hoặc PHP tùy chỉnh trên VPS / VM chỉ trong vài phút. Bạn có thể lưu trữ nhiều trang web trên một VPS / VM, định cấu hình chứng chỉ SSL và theo dõi tình trạng của máy chủ mà không cần chạm vào giao diện dòng lệnh
Nếu bạn có bất kỳ thắc mắc hoặc nghi ngờ nào về chủ đề này, vui lòng liên hệ với chúng tôi. Chúng tôi sẽ cố gắng liên lạc với bạn