0

我不确定此更新调用缺少什么,这是我的代码:

$table = new Application_Model_DbTable_ProductContaminant();
$db = $table->getAdapter();

$db->getProfiler()->setEnabled(true);
$data = array('value' => '999');
$where[] = $db->quoteInto('product_id = ?', $q['product_id']);
$where[] = $db->quoteInto('contaminant_id = ?', $k);
$table->update($data, $where);

print $db->getProfiler()->getLastQueryProfile()->getQuery();

探查器输出是:

UPDATE `product_contaminants` SET `value` = ? WHERE (product_id = '4802') AND (contaminant_id = 69)

为什么没有填充“价值”?

4

1 回答 1

2

未填充值,因为 getQuery 将仅返回带有参数占位符的准备好的语句。如果您想要更新时使用的参数,请尝试以下操作:

$db->getProfiler()->getLastQueryProfile()->getQueryParams()

更多信息在这里

于 2012-07-10T18:52:59.500 回答