Codeigniter - скобки с активной записью? - PullRequest
8 голосов
/ 30 мая 2011

Как иметь символ круглых скобок в SQL-запросах активной записи Codeigniter? например как выполнить

SELECT * FROM `shops` WHERE (`shopid` = '10' OR `shopid` = '11') AND `shopid` <> '18'

Ответы [ 4 ]

11 голосов
/ 24 июня 2012
$where="(`shopid` = '10' OR `shopid` = '11')";

$ this-> db-> где ($ where, NULL, FALSE);

и для условия AND используйте

$this->db->where('shopid <>', '18')

т.е.

$where="(`shopid` = '10' OR `shopid` = '11')";
$this->db->where($where, NULL, FALSE);
$this->db->where('shopid <>', '18')
5 голосов
/ 30 мая 2011

Я думаю, вы могли бы сделать что-то вроде:

$where = "(`shopid` = '10' OR `shopid` = '11')";

$this->db->where($where)  // or statement here
         ->where('shopid <>', '18') // chaining with AND
         ->get('shops');

Не совсем уверен в синтаксисе, я пишу это на макушке. Я посмотрю на это, когда вернусь домой, если это не сработает.

1 голос
/ 21 июня 2013
$this->db->select()
         ->from('shops')
         ->where("'(`shopid` = '10' OR `shopid` = '11')")
         ->where('shopid !=', 18);

$this->db->get()->result();
1 голос
/ 30 мая 2011

Вы можете просто сделать что-то вроде:

$this->db->select('field')->from('shops')->where("(`shopid` = '10' OR `shopid` = '11'")->where("`shopid` <> '18'");
$query = $this->db->get();

Вы можете написать свои собственные пункты вручную:

$ где = "имя =" Джо "И статус =" босс " ИЛИ status = 'active' ";

$ this-> db-> где ($ где);

Источник: http://www.codeignitor.com/user_guide/database/active_record.html#where

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