0

我想知道如何使用 Propel 1.6 将函数添加到 SQL UPDATE 的“SET”块中。例如 UPDATE foo SET myfield = length(:param) WHERE x = 3;

这些函数可以嵌入到“->where()”中,但显然不能嵌入到“->update()”中。我正在寻找的是类似于以下的语法:

FooQuery::create()
        ->filterByX(3)
        ->update(array("MyField" => array("length(?)", 42));

我可以以某种方式执行此操作,还是必须将查询编写为“自定义 SQL”?

4

1 回答 1

0

更新数组是一系列列名和值。这些值是带引号的值,因此您输入的任何内容都将被视为字符串(而不是函数)。

抱歉,我找不到其他适合您的解决方案。

于 2014-03-13T13:33:41.317 回答