我有兩個表:'events_archive'和'demo_users'。在事件表中,每個事件具有唯一的值ref_id
值,demo_id
值(參與事件的演示者的用戶ID)和client_id
值(參與事件的客戶的用戶ID)。在演示表中,每個演示器都有一個唯一的id
值,該值對應於事件表中的demo_id
。CodeIgniter中JOIN語句的PHP問題
我想要做的是列出參與特定客戶所做的事件的所有示威者(從示範表中)。我使用會話數據獲取特定客戶的用戶ID。
所以說client_id
值是4,我想列出所有共享一個事件(即在表中共享一行)的個別示威者。我目前在我的笨模型中使用這樣的:
function demos($mid){
$this->db->select('demo_users.*');
$this->db->from('demo_users');
$this->db->join('events_archive','events_archive.demo_id = demo_users.id');
$this->db->where('events_archive.client_id',$mid);
$this->db->limit(10);
$this->db->order_by('users_demonstrators.products_sold','asc');
$demos = $this->db->get();
foreach($demos->result() as $demo){
echo $demo->first_name;
}
}
但不必逐一列出示威,一遍又一遍地重複它們。而不是列出示威者A,示威者D,示威者F等等,它列出示威者A,示威者A,示威者A等。有人知道我要去哪裏出錯嗎?
我添加了'$ this-> db-> distinct();'它完美地工作。謝謝 – hohner