2
我试着做类似这样与Zend_Db的更新:ZF Db的附加列
UPDATE `TABLE` SET
column = column + 'new value'
WHERE
foo = 'bar'
任你以前做过吗?可能吗? 谢谢
我试着做类似这样与Zend_Db的更新:ZF Db的附加列
UPDATE `TABLE` SET
column = column + 'new value'
WHERE
foo = 'bar'
任你以前做过吗?可能吗? 谢谢
在Zend_Db_Expr的帮助下,这是可能的。
例子:
$newValue = 101;
$data = array('column' =>
new Zend_Db_Expr($db->quoteInto('column + ?', $newValue)));
$where = $db->quoteInto('foo = ?', 'bar');
$updated = $db->update('TABLE', $data, $where);
结果查询:
UPDATE `TABLE` SET `column` = `column` + 101 WHERE `foo` = 'bar';
如果你问如何追加一个字符串,那么代码是相似的,但人物打交道时,你不能使用+
操作数据,而不是使用CONCAT()。
例如,改变$data
阵列这样:
$data = array('varcharCol' =>
new Zend_Db_Expr(
$db->quoteInto('CONCAT(varcharCol, ?)', ' append more text!')
));
外观极好,这正是我specting。我知道它与'Zend_Db_Expr()'有关,但不知道如何实现它 –