«где» + «or_where», «or_where», исключая условия - PullRequest
0 голосов
/ 20 декабря 2010

Как бы я сделал так, чтобы у меня были условия:

$this->db->where('msgto.msgto_display', 'y');
$this->db->where('msgto.msgto_unread', 'y');

Но тогда было бы:

$this->db->where('msgto.msgto_recipient', $userid);
$this->db->or_where('msgto.msgto_recipient', 4);

На данный момент все отлично, кроме того, когда он читает "or_where"оно не учитывает" условий ", поэтому результаты для получателя 4 не помечены ('msgto.msgto_display', 'y') и ('msgto.msgto_unread', 'y').

Спасибо за помощь:)

Ответы [ 2 ]

1 голос
/ 22 декабря 2010

Вы можете попробовать использовать функцию CodeIgniters $ this-> db-> where_in ():

$this->db->where_in('msgto.msgto_recipient', array($userid, 4));

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

В моей ситуации я хотел найти контент, статус которого был опубликован или заблокирован.

$this->db->where_in('status', array('published','locked'));
0 голосов
/ 20 декабря 2010

Я не уверен, что построитель запросов CodeIgniter достаточно мощный, чтобы справиться с этим случаем, основываясь на его документации. Возможно, вам придется сначала выполнить запрос к получателю, а затем вручную отфильтровать результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...