Zend_Db を使用して、次のような更新を試みています。
UPDATE `TABLE` SET
column = column + 'new value'
WHERE
foo = 'bar'
あなたの前にこれをやったことがありますか?出来ますか?ありがとう
Zend_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!')
));