Как сгруппировать в скобках серию операторов or_where() с помощью построителя запросов CodeIgniter [дубликат]Php

Кемеровские программисты php общаются здесь
Anonymous
Как сгруппировать в скобках серию операторов or_where() с помощью построителя запросов CodeIgniter [дубликат]

Сообщение Anonymous »

Я хочу создать запрос с некоторым условием WHERE, разделенным оператором AND, а также серией инкапсулированных условий OR с помощью этого визуализированного SQL:

Код: Выделить всё

SELECT *
FROM users
WHERE username = 'user'
AND nation_id = 90
AND active = 1
AND (rate = 1 OR rate = 2 OR rate = 3);
Теперь я создал этот код, но он не работает, поскольку в нем нет круглых скобок, заключающих логику условия ИЛИ:

Код: Выделить всё

SELECT *
FROM users
WHERE username = 'user'
AND nation_id = 90
AND active = 1
AND rate = 1
OR rate = 2
OR rate = 3;
Это мой код:

Код: Выделить всё

$this->db->from('users');
$this->db->where('username', 'user');
$this->db->where('nation_id', 90);
$this->db->where('active', 1);

for ($i = 1; $i db->or_where('rate', $i);
}

$query = $this->db->get();
Пожалуйста, не указывайте мне другой способ, например, написать запрос вручную, потому что я упростил его, и он слишком велик для выполнения ручного запроса.

Цикл важен именно таким образом, потому что, например, мне приходится циклически повторять массив.

Я хочу только вставить свое условие или внутри () возможно?

Подробнее здесь: https://stackoverflow.com/questions/181 ... odeigniter

Вернуться в «Php»