CodeIgniter'daki MySQL sorgusu fıkra ile yardım

2 Cevap php

Ben mySQL ile bir problem çözme biraz yardıma ihtiyacım var, bir işlevin bir dizi geçmek ve daha sonra bir maç dizi değerlerini agains çalıştırmak mümkün mü?

Ben bu sorgu var

function getMenu($cookieId) {
    $this->db->select('*');
    $this->db->from('categoryTable');
    $this->db->join('userMenuTable', 'categoryTable.categoryId = userMenuTable.categoryId', 'left');
    $this->db->where('userMenuTable.cookieId', $cookieId);

    $query = $this->db->get();
    return $query->result_array();

}

Döndürülen $query dizisi kullanarak veritabanını sorgulamak ve dizi değerlerini eşleşmeyen bir tablodaki tüm değerleri almak mümkün mü?

2 Cevap

Sorgunuzda bu durumu kullanın:

$this->db->where_not_in('fieldname', $array_of_values);

Bunu bir SELECT * geliyor ve böylece tablonun tüm alanlarını içeren doğrudan, sizin örnekte döndürülen dizi kullanmak mümkün olmayacaktır. Eğer bir sonraki sorgu filtrelemek istediğiniz alanın SADECE değerleri ile bir dizi oluşturmak zorunda.

What columns do you have in that array ? Theoretically you could do a

select from `new table` where `field` NOT IN (Select `field` from `old_table`)

sadece tek bir sorguda bunu veya durumun IN dizi değil geçmek