2011-08-04 6 views
0

私はこのSQLクエリを構築しようとしている:Doctrine 1.2を使用して、すべてのレコードで1ビットの列を設定する方法は?

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); 

:なし成功と

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

そして、多くの類似のバリエーションを。これでマイルを助けてください。

答えて

1

これを達成する最も単純な方法はここに、あなたはPDOに精通していない場合

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

のように、何かをDoctrineからデータベース接続をサルベージし、その上に生のSQLクエリをperfromすることですPDO::querythe documentationです。

関連する問題