我有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();