【问题标题】:append an field of mysql with cakephp用 cakephp 附加一个 mysql 字段
【发布时间】:2015-04-16 04:29:24
【问题描述】:

有人可以帮我处理一下这个 cakephp 代码吗?

我尝试在 UpdateAll 中附加一个字段...

$this->MyModel->updateAll(
array(
    'MyModel.Field1'     => ***MyModel.Field1 & 'ok'***,
),
array('MyModel.Field2' => 'lorem')
);

【问题讨论】:

  • ps:对不起我的英语......但我认为任何人都会理解代码......

标签: php mysql cakephp append


【解决方案1】:

如文档中所述,Model::updateAll()$fields 参数接受 SQL 表达式,因此只需传递所需的任何内容,在您的情况下可能是 CONCAT 操作:

$this->MyModel->updateAll(
    array('MyModel.Field1' => "CONCAT(MyModel.Field1, 'ok')"),
    array('MyModel.Field2' => 'lorem')
);

并且不要忘记值没有被转义!如果您打算注入用户数据,请确保使用DboSource::value() 正确准备它。不幸的是,使用updateAll() 时无法绑定参数,这应该始终是在未应用自动转义时插入数据的首选方法。

另请参阅http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-updateall-array-fields-mixed-conditions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 2012-10-05
    • 2012-01-31
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多