【发布时间】:2012-03-23 14:38:18
【问题描述】:
这是我试图通过活动记录实现的查询:
UPDATE `Customer_donations` cd
join Invoices i on i.cd_id = cd.cd_id
set cd.amount = '4', cd.amount_verified = '1'
WHERE i.invoice_id = '13';
这是我对活动记录的尝试:
$data = array('cd.amount'=>$amount, 'cd.amount_verified'=>'1');
$this->db->join('Invoices i', 'i.cd_id = cd.cd_id')
->where('i.invoice_id', $invoiceId);
// update the table with the new data
if($this->db->update('Customer_donations cd', $data)) {
return true;
}
这是实际生成的查询:
UPDATE `Customer_donations` cd
SET `cd`.`amount` = '1', `cd`.`amount_verified` = '1'
WHERE `i`.`invoice_id` = '13'
为什么这个活动记录语句没有应用我的联接子句?
【问题讨论】:
-
我从未在 Codeigniter 的活动记录中尝试过多链。我总是使用普通模式,而且它总是很有魅力。您还可以测试正常版本的查询并向我们提供反馈。
-
活动记录中的多链很容易。我一直都这样做。在我的 sql 编辑器中手动运行时,我试图实现的查询工作正常。
标签: php sql codeigniter