Tôi muốn kết hợp các truy vấn AND OR mysql trong CI. Tôi đã xem chủ đề này: http://codeigniter.com/forums/viewthread/92818/. Nhưng chúng không cung cấp giải pháp chính xác ở đó.kết hợp các truy vấn mysql AND OR trong Codeigniter
Làm cách nào để tạo truy vấn sau bằng đúng khung CI? (tôi có thể tạo ra các truy vấn một cách dễ dàng không có dấu ngoặc nhưng sau đó nó không phải là cùng một truy vấn.)
SELECT * FROM `Persons` WHERE
LastName='Svendson' AND Age="12" AND
(FirstName='Tove' OR FirstName='Ola' OR Gender="M" OR Country="India")
PS: Đây chỉ là một truy vấn mẫu thậm chí nếu nó làm cho không có ý nghĩa & Đừng đề nghị bằng văn bản cho toàn bộ HOẶC một phần của truy vấn bên trong một đơn where()
.
EDIT: Về cơ bản tôi muốn thực hiện các truy vấn đơn giản sau đây:
SELECT * FROM `table` WHERE field1='value1' AND (field2='value2' OR field3='value3')
có điều này sẽ hoạt động và đây là những gì tôi hiện đang sử dụng. Nhưng đây không phải là cách CI nghiêm ngặt, tôi phải thoát khỏi chuỗi bằng tay. Ngoài ra tôi nghi ngờ loại câu trả lời như vậy đã đề cập trong câu hỏi 'Không đề nghị viết toàn bộ hoặc một phần của truy vấn bên trong một nơi duy nhất().' – gopi1410
Tôi hỏi bạn trong câu trả lời ban đầu của tôi nếu bạn có một số lý do để thực hiện điều này với hồ sơ hoạt động, kể từ khi xác định một truy vấn trong() IS 'nghiêm ngặt codeigniter', nó chỉ là không hoạt động ghi lại. Dù sao, điều này là không thể trong CI vì chúng sẽ không cho phép bạn thực hiện các truy vấn lồng nhau trong AR. Có một trình tạo chuỗi truy vấn được gọi là IgnitedQuery cho điều đó: http://www.assembla.com/wiki/show/IgnitedRecord/IgnitedQuery. –
Điều này không hiệu quả đối với tôi. Thứ 2, nơi điều kiện được ghi đè ở vị trí thứ nhất trong điều kiện. CodeIgniter V 2.1.4 – TARKUS