我想使用 Propel ORM 在 symfony 中执行这样的查询:
UPDATE ADS SET HITS=HITS+1 WHERE ID=10;
我知道 Propel API 可以让我为给定记录的列设置先前固定的值,但我绝对不想在发出更新查询之前先检索列值,因为存在并发访问。
请问,我怎么能做到这一点?
谢谢。
这适用于 Symfony 1.3/1.4:
在 AdsPeer 中:
public static function incrementHits($id)
{
$con = Propel::getConnection(AdsPeer::DATABASE_NAME);
$query = 'UPDATE hits SET hits + 1 WHERE id = '.$id;
sfContext::getInstance()->getLogger()->crit($query);
$stmt = $con->prepare($query);
$rs = $stmt->execute();
}
要使用:
AdsPeer::incrementHits($id);
高温高压
麦克风