如何使用 Doctrine 1.2 在每条记录中设置一列的一位?

发布于 2024-11-27 19:34:27 字数 517 浏览 0 评论 0原文

我正在尝试构建此 SQL 查询:

update shop_product set flags=flags^(flags&1024);

使用 Doctrine 1.2。

我已经尝试过这些方法:

Doctrine_Query::create()
    ->update('Model_ShopProduct p')
    ->set('p.flags', 'p.flags^(p.flags&' . $flag);

还有:

Doctrine_Query::create()
    ->update('Model_ShopProduct p')
    ->set('p.flags', new Doctrine_Expression('p.flags^(p.flags&?'), $flag);

以及许多类似的变体,但没有成功。请帮助我解决这个问题。

I'm trying to build this SQL query:

update shop_product set flags=flags^(flags&1024);

Using Doctrine 1.2.

I have tried these methods:

Doctrine_Query::create()
    ->update('Model_ShopProduct p')
    ->set('p.flags', 'p.flags^(p.flags&' . $flag);

also:

Doctrine_Query::create()
    ->update('Model_ShopProduct p')
    ->set('p.flags', new Doctrine_Expression('p.flags^(p.flags&?'), $flag);

And many similar variations with no success. Please help mi with this one.

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

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

发布评论

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

评论(1

南风几经秋 2024-12-04 19:34:27

实现此目的的最简单方法是从 Doctrine 中抢救数据库连接并对其执行原始 sql 查询,例如

$connection = Doctrine_Manager::getCurrentConnection()->getDbh();
//connection is an ordinary PDO object
$connection->query("update shop_product set flags=flags^(flags&1024);");

如果您不熟悉 PDO,这里是 关于 PDO::query 的文档

The simpliest way to achieve this is to salvage database connection from Doctrine and perfrom raw sql query on it, something like

$connection = Doctrine_Manager::getCurrentConnection()->getDbh();
//connection is an ordinary PDO object
$connection->query("update shop_product set flags=flags^(flags&1024);");

If you are not familiar with PDO, here is the documentation on PDO::query.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文