我有3个
mysql表.
- Table 1 user
- id | name
- Table 2 emails
- id | email
- Table 3 user_email
- user_id | email_id
我没有查询多表的经验.
使用codeigniter活动记录,我想根据用户ID查找用户电子邮件地址,如果以下代码正确,请告知?
- $CI->db->select('email');
- $CI->db->from('emails');
- $CI->db->where('id',$userid);
- $CI->db->join('user_email','user_email.user_id = emails.id','left');
- $query = $CI->db->get();
您需要将where子句与您的表中的user_id进行比较,您将电子邮件的ID与提供的$user_id进行比较
- $CI->db->select('email');
- $CI->db->from('emails');
- $CI->db->where('user_id','left');
- $query = $CI->db->get();
一个更有用的方法是给别人提供别名,所以具有相同列的表不会有任何混淆
- $CI->db->select('e.email');
- $CI->db->from('emails e');
- $CI->db->join('user_email ue','ue.user_id = e.id','left');
- $CI->db->where('ue.user_id',$userid);
- $query = $CI->db->get();