Как работает приоритет при использовании вызовов методов CodeIgniterwhere() и or_where() [дубликат]Php

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

Сообщение Anonymous »

Это (1):

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

SELECT `message`, `from`
FROM (`chat_messages`)
WHERE
`from` = '1'
AND `delivered` = 1
OR `to` = '1'
AND `delivered` = 1
то же, что и этот (2)

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

SELECT `message`, `from`
FROM (`chat_messages`)
WHERE
(`from` = '1' AND `delivered` = 1)
OR (`to` = '1' AND `delivered` = 1)
Запрос, связанный с методом codeigniter, который я использовал для получения результата (1),

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

$this->db
->select('message,from')
->from('chat_messages')
->where(array('from' => $user, 'delivered' => 1))
->or_where('to', $user)
->where('delivered', 1);
и для создания (2) я использовал это

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

$where = "(`from` = '1' AND `delivered` = 1) OR (`to` = '1' AND `delivered` = 1)";
$this->db
->select('message,from')
->from('chat_messages')
->where($where);
Может ли кто-нибудь объяснить лучший способ (из вышеперечисленного) написать CI-запрос? Имеет ли AND первый приоритет в первом примере?

Подробнее здесь: https://stackoverflow.com/questions/279 ... ere-method

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