这很好用:
$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_set
SET left_nr
=:yp0, right_nr
=:yp1 WHERE left_nr>=:left_nr AND right_nr>=:right_nr
我怎样才能实现它?