codeigniter活动记录左联接

用户名

我有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();  
哈里德·朱奈德(M Khalid Junaid)

您有错误的where子句,您需要将表中的user_id进行比较,将电子邮件的id与提供的ID进行比较 $user_id

$CI->db->select('email');
$CI->db->from('emails');
$CI->db->where('user_id', $userid);
$CI->db->join('user_email', 'user_email.user_id = emails.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(); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

左联接排除匹配记录?

来自分类Dev

SQL左联接,最新记录

来自分类Dev

左联接保留NULL记录

来自分类Dev

PHP左联接无法联接匹配记录

来自分类Dev

Codeigniter活动记录类联接两个mysql表

来自分类Dev

活动记录联接查询

来自分类Dev

存储过程左联接顶部记录

来自分类Dev

根据左联接返回不同的记录

来自分类Dev

sql查询左联接记录丢失

来自分类Dev

CodeIgniter活动记录+1

来自分类Dev

Codeigniter活动记录加入

来自分类Dev

Codeigniter,活动记录,加入

来自分类Dev

加入活动记录 codeigniter

来自分类Dev

在左联接中未从表A中获取所有记录

来自分类Dev

MySQL左联接排除了不匹配的记录?

来自分类Dev

mysql-使用左联接查询确定记录是否存在

来自分类Dev

左联接要么返回所有记录,要么不返回

来自分类Dev

MySQL左联接排除了不匹配的记录?

来自分类Dev

Codeigniter活动记录所在的数组

来自分类Dev

CodeIgniter活动记录-组OR语句

来自分类Dev

codeigniter活动记录where_in

来自分类Dev

活动记录单表继承联接表

来自分类Dev

如果右表没有记录,则左联接查询不返回左表记录

来自分类Dev

内联接和左联接

来自分类Dev

左联接不联接数据

来自分类Dev

拥有活动记录的CodeIgniter COUNT个?

来自分类Dev

IF语句在哪里(codeigniter活动记录)

来自分类Dev

活动记录上的Codeigniter get_where

来自分类Dev

Codeigniter 活动记录插入返回值