gpt4 book ai didi

php - codeigniter 事件记录左连接

转载 作者:IT王子 更新时间:2023-10-28 23:45:15 24 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 事件记录,我想根据用户 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();

最佳答案

您需要比较表中的 user_id 的 where 子句有误,您正在将电子邮件的 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/23486536/

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