0

对于学说 1.2,我发现很多这样的例子:

$q = Doctrine_Query::create()
->update('mytable')
->set('amount', 'amount+200')
->whereIn ('id', $ids);

然而,我想要做的是不同的集合:

->set('name', 'foo bar')

然而,这会导致异常。当然,因为 foo 没有列,就像数量一样。也没有运气'´foo bar´'。如何澄清 foo bar 是字符串文字?

我相信是正确的地方,但我没有找到更多信息。另外:我很想更多地了解那里提到的“混合参数”和“字符串更新”。也许有 DOCTRINE::FLAG_LITERAL 之类的?

4

2 回答 2

3

采用:

->set('name', '?', 'foo bar')

这相当于在 DQL 中执行以下操作

SET name = ?
于 2011-12-29T00:20:32.477 回答
0

您还可以使用:

$q = Doctrine_Query::create()
    ->update('mytable')
    ->set('name', ':name')
    ->setParameter('name', 'foo bar')
于 2021-10-26T14:19:43.463 回答