如何在 Doctrine Update 查询中设置文字字符串值?

发布于 2024-12-17 17:55:00 字数 559 浏览 4 评论 0原文

对于原则 1.2,我发现了很多这样的例子:

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

然而我想做的是一组不同的例子:

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

然而,这会导致例外。当然,因为 foo 不是像 amount 那样的列。 '´foo bar´' 也不走运。如何澄清 foo bar 是字符串文字?

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

For doctrine 1.2, I find plenty of examples like these:

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

What I want to do however is a different set:

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

This however, leads to exception. Of course, because foo is no column, like amount.
No luck with '´foo bar´' either. How can I clarify foo bar is a string literal?

I believe this is the right place to look, but I don't find further info.
Also: I would love to know more about the 'mixed params' and 'string update' mentioned there. Perhaps there's a DOCTRINE::FLAG_LITERAL or such?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美煞众生 2024-12-24 17:55:00

使用:

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

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

SET name = ?

Use:

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

This is the equivalent of doing the following in DQL

SET name = ?
凡间太子 2024-12-24 17:55:00

您还可以使用:

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

You can also use :

$q = Doctrine_Query::create()
    ->update('mytable')
    ->set('name', ':name')
    ->setParameter('name', 'foo bar')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文