【发布时间】:2013-11-20 18:21:24
【问题描述】:
我有两个表“accounts_transactions”和“accounts_bills_transactions”。 我必须使用codeigniter的活动记录将这两个左连接。但是用于连接的键列的名称是不同的。所以我没有从输出中的左表中获取键列。我应该写什么查询来获取键结果中包含左表中的列。 我的代码是
$this->db->select('*');
$this->db->from('accounts_transactions');
$this->db->join('accounts_bills_transactions', 'accounts_transactions.id = accounts_bills_transactions.transaction_id','left');
$query = $this->db->get();
所以,如您所见,此处用于连接的关键列是左表中的 id 和第二张表中的 transaction_id。问题是我没有从结果中获取左表中的 id。但我得到了所有其他的列。我认为问题是因为用于加入的列名不同。即两个列名都没有命名为 'id' 。那么我怎样才能从结果中包含的左表中获取 id。
【问题讨论】:
-
这是正确的吗? account_transactions.id = accounts_transactions.transaction_id,不就是accounts_transactions.id = accounts_bills_transactions.transaction_id,你们是在同一张桌子上加入的……
-
是的,这是一个错字,我需要的查询是 accounts_transactions.id = accounts_bills_transactions.transaction_id 并且它正在生成模棱两可的列错误
标签: php mysql codeigniter activerecord left-join