【问题标题】:Delete with join in not working-Codeigniter删除并加入不起作用-Codeigniter
【发布时间】:2014-03-18 05:41:41
【问题描述】:

我在 codeigniter 中有一个查询,例如,

$this->db->join('mail_groups','subscriber.mail_group_id=mail_groups.mail_group_id');
$this->db->where('mail_groups.user_id',$this->user_id);
$this->db->where('subscriber.email_address',$email);
$this->db->delete('subscriber');

我收到了这个错误

表格结构

订阅者

邮件组

在 Codeigniter 中可以通过 join 删除吗?

【问题讨论】:

  • 尝试更改顺序,将连接放在 where 子句之后。
  • 如果邮件组 id 连接了两个表,为什么不直接删除订阅者?而不是加入?也应该像约翰提到的那样最后一次加入
  • @JohnV.,我试过了,但没用
  • 能否给出订阅者的表结构?
  • @kumar_v 我更新了我的问题,你能检查一下吗

标签: php mysql codeigniter


【解决方案1】:

试试这个代码。

$this->db->where(array("mail_groups.user_id"=>$this->user_id,"subscriber.email_address"=>$email))
           ->join("mail_groups", 'subscriber.mail_group_id=mail_groups.mail_group_id')
           ->delete("subscriber");

【讨论】:

  • 谢谢,但它也得到相同的错误“'where 子句'中的未知列'mail_groups.user_id'”:)
  • 最好将其作为查询传递,而不是使用 CI 连接函数。
  • 我在没有使用join的情况下完成了where_in和内部查询,现在我的问题解决了,但是......如何在codeigniter中做
猜你喜欢
  • 2014-08-12
  • 2013-12-29
  • 2019-01-14
  • 1970-01-01
  • 2023-03-13
  • 2020-02-10
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多