Запрос выбора Codeigniter с условием AND и OR - PullRequest
10 голосов
/ 30 марта 2012

Я хочу запрос выбора Codeigniter из таблицы с тремя условиями в.

1. wrk_fld_exc = 140
2. wrk_cs_sts = Open
3. wrk_dlvrd_sts = Delivered OR wrk_cl_sts = Success

Третье условие - это условие И содержит условие ИЛИ. Первое и второе - это состояние А.

Ответы [ 6 ]

26 голосов
/ 30 марта 2012

Вы можете кодировать это так:

       $this->db->where('wrk_fld_exc',140);
       $this->db->where('wrk_cs_sts','open');
       $where = '(wrk_dlvrd_sts="open" or wrk_cl_sts = "Success")';
       $this->db->where($where);
5 голосов
/ 07 марта 2016

codeigniter использует свой собственный синтаксис для предложения OR в запросе

$this->db->or_where('wrk_cl_sts','Success'); 

, чтобы использовать оператор AND в выражении where, где $this->db->where(''); дважды

2 голосов
/ 12 ноября 2013

Как это

 $this->db->where('wrk_fld_exc',140);
 $this->db->where('wrk_cs_sts','open');
 $this->db->where('wrk_dlvrd_sts ','Delivered');
 $this->db->or_where('wrk_cl_sts','Success');
1 голос
/ 08 августа 2018
$this->db->where ('attribute',$data['attribute']);
$this->db->or_where ('attribute',$data['attribute']);
$this->db->and_where ('attribute',$data['attribute']);
0 голосов
/ 11 февраля 2016
    $this->db->select("*");
    $this->db->from("table_name");
    if($condition1 != ''){
        $this->db->where('wrk_fld_exc', 140);
    }
    if($condition2 != ''){
        $this->db->where('wrk_cs_sts ', open);
    }
    //You can limit the results
    $this->db->limit(5);
    $q = $this->db->get();
    return $q->result();

Это базовая структура запроса, которую вы можете реализовать таким образом в codeigniter.Вы можете добавить условия, если вам требуется.

0 голосов
/ 09 мая 2014
 $this->db->where('wrk_fld_exc',140);

 $this->db->where('wrk_cs_sts','open');

 $where = '(wrk_dlvrd_sts="open" or wrk_cl_sts = "Success")';

 $this->db->where($where);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...