Codeigniter 4复杂UNION查询

uqjltbpv  于 2023-02-01  发布在  其他
关注(0)|答案(1)|浏览(150)

我是Codeigniter 4的新手,正在尝试编写SELECT UNION SQL语句。根据codeigniter 4中的用户指南,select()方法中有第二个参数,允许通过将其设置为false来编写自定义SQL语句。不幸的是,它不起作用。有人能帮忙吗?有没有其他解决方案?

$query = "SELECT acnt_id, acnt_opbal as sum_amount 
                        FROM accounts 
                            WHERE acnt_id = '" . $acnt_id . "' 
                    UNION 
                    SELECT txn_acnt_id_dr as acnt_id, SUM(txn_amount_dr) as sum_amount 
                        FROM transactions 
                            WHERE txn_acnt_id_dr = '" . $acnt_id . "' 
                                AND txn_date < '" . $fdate . "'
                            GROUP BY txn_acnt_id_dr 
                    UNION 
                    SELECT txn_acnt_id_cr as acnt_id, -SUM(txn_amount_cr) as sum_amount 
                        FROM transactions 
                            WHERE txn_acnt_id_cr = '" . $acnt_id . "' 
                                AND txn_date < '" . $fdate . "'
                            GROUP BY txn_acnt_id_cr";
$result = $this->builder()->select($query, false)->get()->getResult();
nwlls2ji

nwlls2ji1#

你能试试这个吗:

$result = ($this->builder()->select($query, false)->get())->getResult();

您的代码是否在模型/控制器中?

相关问题