【发布时间】:2014-11-04 22:28:46
【问题描述】:
这很好用:
$test = self::updateAll(
array( 'left_nr' => '3',
'right_nr' => '3', ),
'left_nr>=:left_nr AND right_nr>=:right_nr',
array(
':left_nr' => $parent->left_nr,
':right_nr' => $parent->right_nr,
//':new_left_nr' => 'left_nr + 2',
//':new_right_nr' => 'right_nr + 2'
)
);
但我想要的是:
$test = self::updateAll(
array( 'left_nr' => ':new_left_nr',
'right_nr' => ':new_right_nr', ),
'left_nr>=:left_nr AND right_nr>=:right_nr',
array(
':left_nr' => $parent->left_nr,
':right_nr' => $parent->right_nr,
':new_left_nr' => 'left_nr + 2',
':new_right_nr' => 'right_nr + 2'
)
);
当我尝试该代码时,我收到以下错误:
CDbCommand 执行 SQL 语句失败:SQLSTATE[HY093]: Invalid parameter number: 绑定变量数与标记数不匹配。执行的 SQL 语句为:UPDATE test_nested_setSET left_nr=:yp0, right_nr=:yp1 WHERE left_nr>=:left_nr AND right_nr>=:right_nr
我怎样才能实现它?
【问题讨论】:
标签: yii yii2 yii-cactiverecord cactiverecord