用 cakephp 附加一个 mysql 的字段
append an field of mysql with cakephp
有人可以帮我处理这个 cakephp 代码吗?
我尝试在 UpdateAll 中附加一个字段...
$this->MyModel->updateAll(
array(
'MyModel.Field1' => ***MyModel.Field1 & 'ok'***,
),
array('MyModel.Field2' => 'lorem')
);
如文档中所述,Model::updateAll()
的 $fields
参数接受 SQL 表达式,因此只需传递所需的任何内容,在您的情况下可能是 CONCAT
操作:
$this->MyModel->updateAll(
array('MyModel.Field1' => "CONCAT(MyModel.Field1, 'ok')"),
array('MyModel.Field2' => 'lorem')
);
并且不要忘记这些值不会被转义!如果您打算注入用户数据,请确保使用 DboSource::value()
正确准备它。不幸的是,在使用 updateAll()
时无法绑定参数,这应该始终是在未应用自动转义时插入数据的首选方法。
有人可以帮我处理这个 cakephp 代码吗?
我尝试在 UpdateAll 中附加一个字段...
$this->MyModel->updateAll(
array(
'MyModel.Field1' => ***MyModel.Field1 & 'ok'***,
),
array('MyModel.Field2' => 'lorem')
);
如文档中所述,Model::updateAll()
的 $fields
参数接受 SQL 表达式,因此只需传递所需的任何内容,在您的情况下可能是 CONCAT
操作:
$this->MyModel->updateAll(
array('MyModel.Field1' => "CONCAT(MyModel.Field1, 'ok')"),
array('MyModel.Field2' => 'lorem')
);
并且不要忘记这些值不会被转义!如果您打算注入用户数据,请确保使用 DboSource::value()
正确准备它。不幸的是,在使用 updateAll()
时无法绑定参数,这应该始终是在未应用自动转义时插入数据的首选方法。