2016-04-13 4 views
0

Я пытаюсь получить детали из таблицы1 и таблицы2 на основе массива id таблицы3. Идентификаторы table3 id и table1 доступны в таблице2.Мне нужно исправить с помощью запроса воспламенения кода

// $ иды является массив идентификаторов, как: Array ([Идентификаторы] => 10,11)

function get_detail($ids) { 

    $this->db->select('*'); 
    $this->db->from('table1'); 
    $this->db->join('table2', 'table1.aID = table2.aID'); 
    $this->db->join('table3', 'table2.bID = table3.bID','left'); 
    $this->db->where('table3.bID', $ids); 
    $query = $this->db->get();  

} 

ответ

0

Если у вас есть несколько значений, вы должны использовать В

Заменить

$this->db->where(); 

С

$this->db->where_in(); 

Оба значения (col, value);

Примечание: // $ ids = Array (10,11);

0

Здравствуйте использовать where_in как этого

function get_detail($ids) { 

    $this->db->select('*'); 
    $this->db->from('table1'); 
    $this->db->join('table2', 'table1.aID = table2.aID'); 
    $this->db->join('table3', 'table2.bID = table3.bID','left'); 
    $this->db->where_in('table3.bID', $ids); 
    $query = $this->db->get();  

} 

Примечание: Pass $ идентификаторов в формате массив

$ Идентификаторы = Array (10,11);

+0

Как я могу использовать Еогеасп() для массива, как Array ([sectionIDs] => 1,2,3,4) или как я могу сломать массива ([sectionIDs] => 1,2,3,4) в 'Array ([0] => 1, [1] => 2, [2] => 3, [3] => 4)' – Asif

0

вы можете использовать массив

$array = array('name !=' => $name, 'id <' => $id, 'date >' => $date); 

$this->db->where($array); 
+0

Как можно Я использую foreach() для массива вроде Array ([sectionIDs] => 1,2,3,4) или как я могу разбить Array ([sectionIDs] => 1,2,3,4) в 'Array ([0] => 1, [1] => 2, [2] => 3, [3] => 4) ' – Asif