Как использовать предложение между в выражении выбора в codeigneiter

0

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

 $query = $this->db->query("SELECT * FROM todaywork WHERE idEmployee = $user ");

        if ($query->num_rows() > 0)
        {
           $row = $query->row(); 

               $from = $row->T_frange;
               $to = $row->T_trange;
               $note = $row->T_note;
        }     
               $this->db->select("cus.idCustomer,cus.C_name,f.F_itemname,ctr.*");
                //$whereCondition = array('cus.idCustomer' => $_POST['custId']);
                $this->db->where('C_trnoofarr BETWEEN {$from} AND {$to}');
                //filter where
                $this->db->from('customer cus');
                $this->db->join('contracts AS ctr', 'cus.idCustomer = ctr.idCustomer', 'INNER');
                $this->db->join('facility AS f','ctr.idContracts = f.idContracts','INNER');
                $query = $this->db->get();

                return $query->result();

    }
  • 0
    $this->db->where('C_trnoofarr BETWEEN {$from} AND {$to}',NULL,FALSE);
Теги:
codeigniter

2 ответа

1
Лучший ответ

Используйте это для

$this->db->where('C_trnoofarr >', $from);
$this->db->where('C_trnoofarr <', $to);
  • 0
    Разве это не должно быть 1-е greater than 2-е и less than
  • 0
    @ParagTyagi да поменяет это
1

Замените это,

$this->db->where('C_trnoofarr BETWEEN {$from} AND {$to}');

с этим,

$this->db->where('C_trnoofarr >', $from);
$this->db->where('C_trnoofarr <', $to);

Тем не менее, если вы хотите использовать raw в WHERE, вы должны добавить третий параметр.

$this->db->where('<where clause>', NULL, FALSE);

Из документов :

$this-> db-> где() принимает необязательный третий параметр. Если вы установите значение FALSE, CodeIgniter не будет пытаться защитить ваши имена полей или таблиц с помощью обратных ссылок.

В вашем случае, может быть,

$this->db->where('C_trnoofarr BETWEEN {$from} AND {$to}', NULL, FALSE);
  • 0
    Спасибо за вашу помощь. Иц работа. спасибо большое доктор

Ещё вопросы

Сообщество Overcoder
Наверх
Меню