phpmysqlcodeigniterquery-builderlogical-grouping

Build a CodeIgniter with a combination of AND and OR conditions in a WHERE clause


I want to combine AND OR mysql queries in CI. I have already seen this forum thread, but they don't provide the exact solution that I need.

How do I create the following query using strictly the CI framework? (I can create the query easily without the brackets but then it is not the same query.)

SELECT *
FROM `Persons`
WHERE
    LastName='Svendson'
    AND Age="12"
    AND (
         FirstName='Tove'
         OR FirstName='Ola'
         OR Gender="M"
         OR Country="India"
    ) 

P.S.: This is just a sample query even if it makes no sense & Do not suggest writing the entire OR part of the query inside a single where().

EDIT: Basically I want the implementation of the following simple query:

SELECT *
FROM `table`
WHERE field1='value1' AND (field2='value2' OR field3='value3')

I am currently running CI2.


Solution

  • and this will work?

    $this->db->where('LastName', 'Svendson');
    $this->db->where('Age', 12);
    $this->db->where("(FirstName='Tove' OR FirstName='Ola' OR Gender='M' OR Country='India')", NULL, FALSE);
    $query = $this->db->get('Persons');
    return $query->result();