【问题标题】:How to set literal string values in Doctrine Update queries?如何在 Doctrine Update 查询中设置文字字符串值?
【发布时间】:2012-01-06 05:30:16
【问题描述】:

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

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

但是我想做的是不同的设置:

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

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

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

【问题讨论】:

标签: doctrine doctrine-1.2 string-literals doctrine-query


【解决方案1】:

用途:

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

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

SET name = ?

【讨论】:

    【解决方案2】:

    你也可以使用:

    $q = Doctrine_Query::create()
        ->update('mytable')
        ->set('name', ':name')
        ->setParameter('name', 'foo bar')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多