gpt4 book ai didi

php - Codeigniter 事件记录左连接

转载 作者:行者123 更新时间:2023-11-29 20:55:22 26 4
gpt4 key购买 nike

我有 3 个 mysql 表。

Table 1 user  
id | name

Table 2 emails
id | email

Table 3 user_email
user_id | email_id

我没有查询多表的经验。
使用 codeigniter active record,我想根据用户 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', $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();

关于php - Codeigniter 事件记录左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com