php - CodeIgniter Active Records 在子查询中的位置

标签 php mysql codeigniter activerecord

如何使用 codeigniter 事件记录编写 where_in 语句子查询?

$query = $this->db->query("SELECT SUM(a.transaction_payment_amount) FROM 
         transaction_payment a WHERE a.transaction_link IN 
         (SELECT transaction_link FROM transaction WHERE transaction_type = '22'");
$result = $query->result();

现在如何将上述查询转换为 CI 事件记录?

我已经尝试过:

$this->db->select("SUM(a.transaction_payment_amount)");
$this->db->from('transaction_payment a');
$this->db->where_in('a.transaction_link', "SELECT transaction_link from transaction WHERE transaction_type = '22'");
$query = $this->db->get();
$result = $query->result();

但是这不起作用。

最佳答案

试试这个

$this->db->where_in('a.transaction_link', "SELECT transaction_link from transaction WHERE transaction_type = '22'",false);

如果您使用 false 那么它将从 where_in 条件中删除单引号

关于php - CodeIgniter Active Records 在子查询中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46107774/

相关文章:

php - Laravel Sendgrid SMTP 不工作

c++ - SQLite 动态表中的分页

mysql - 在 MySQL 数据库中增加计数器的最快方法

javascript - 两种类型的输入由选项卡分隔,我只能传递选项卡被选中的输入

javascript - 将正则表达式作为字符串存储在数据库中,然后检索以在 Javascript 和 PHP 中使用

php - AJAX POST 不再工作

php - jquery伪造一个ajax请求

php - Codeigniter 应用程序遭到黑客攻击,代码注入(inject)到 index.php 中

javascript - MySQL AJAX PHP 通知模块

mysql - 错误代码 : 1221. UPDATE 和 ORDER BY 的使用不正确——更新表 Abonnement 时