Я пытаюсь преобразовать этот следующий код в запрос php codeigniter, но мне кажется, что это не удается.
Этот SQL работает отлично:
SELECT item_stocks_1 as item_stocks_1 FROM orders WHERE item_id_1 = 7 AND delivery_date = '2019-03-24'
UNION
SELECT item_stocks_2 as item_stocks_2 FROM orders WHERE item_id_2 = 7 AND delivery_date = '2019-03-24'
UNION
SELECT item_stocks_3 as item_stocks_3 FROM orders WHERE item_id_3 = 7 AND delivery_date = '2019-03-24'
UNION
SELECT item_stocks_4 as item_stocks_4 FROM orders WHERE item_id_4 = 7 AND delivery_date = '2019-03-24'
UNION
SELECT item_stocks_5 as item_stocks_5 FROM orders WHERE item_id_5 = 7 AND delivery_date = '2019-03-24'
но когда я конвертирую его в запрос codeigniter следующим образом:
for($i=1;$i<$5;$i++){
$this->db->select('item_stocks_'.$i as 'item_stocks_'.$i);
$this->db->from('orders');
$this->db->where('item_id_', $filtered_item_id);
$this->db->where('delivery_date', '2019-03-24');
UNION
}
это всегда терпит неудачу. я пытался искать союзы на codeigniter, но они объединяют только 2 таблицы.
Вот так выглядит моя таблица:
delivery_date | item_id_1 | item_stocks_1 | item_id_2 | item_stocks_2 | item_id_3 | item_stocks_3 | item_id_4 | item_stocks_4 | item_id_5 | item_stocks_5 |
Я не знаю, как использовать союз :)






использовать групповой старт для .
$this->db->select('item_stocks_'.$i as 'item_stocks_'.$i);
$this->db->from('orders');
for($i=1;$i<$5;$i++){
$this->db->or_group_start();
$this->db->where('item_id_', $filtered_item_id);
$this->db->where('delivery_date', '2019-03-24')->group_end();
}
$this->db->get();
Здесь $i находится вне цикла for.
почему снаружи? как он может сказать счет?
где утверждение
$this->db->get()?