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

Doctrine 如何使用原则1.2在每个记录中设置列的一位?,doctrine,doctrine-1.2,Doctrine,Doctrine 1.2,我正在尝试构建此SQL查询: update shop_product set flags=flags^(flags&1024); 使用原则1.2 我尝试过以下方法: Doctrine_Query::create() ->update('Model_ShopProduct p') ->set('p.flags', 'p.flags^(p.flags&' . $flag); 此外: 和许多类似的变化,但没有成功。请帮助mi解决这个问题。实现这一点最简单

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

update shop_product set flags=flags^(flags&1024);
使用原则1.2

我尝试过以下方法:

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


和许多类似的变化,但没有成功。请帮助mi解决这个问题。

实现这一点最简单的方法是从
原则中恢复数据库连接,并在其上执行原始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

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