Symfony1 在Symfony 1.4中使用推进
我必须按玩家Id返回该行,如果没有行,则创建一行。 这不是最好的办法Symfony1 在Symfony 1.4中使用推进,symfony1,propel,Symfony1,Propel,我必须按玩家Id返回该行,如果没有行,则创建一行。 这不是最好的办法 class PlayerRafPeer extends BasePlayerRafPeer { /** * Returns a PlayerRaf object by playerId. * @param int $player_id * @param PDO $con * @return PlayerRaf */ public static function retrieveByPl
class PlayerRafPeer extends BasePlayerRafPeer {
/**
* Returns a PlayerRaf object by playerId.
* @param int $player_id
* @param PDO $con
* @return PlayerRaf
*/
public static function retrieveByPlayerId($player_id, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$criteria = new Criteria();
$criteria->add(self::PLAYER_ID, $player_id);
$v = self::doSelectOne($criteria, $con);
if (!$v) {
$player = new PlayerRaf();
$player->setPlayerId($player_id)
->setEmailCount(0)
->setDate(date("Y-m-d"), time());
self::doInsert($player, $con);
return $player;
}
return $v;
}
您应该避免在对等类中添加逻辑,而是使用ActiveQueryAPI。你可以阅读:和 在您的情况下,此部分将帮助您: 然后,你可以写:
<?php
$player = PlayerRafQuery::create()
->filterById($id)
->findOneOrCreate();
您应该避免在对等类中添加逻辑,而是使用ActiveQueryAPI。你可以阅读:和
在您的情况下,此部分将帮助您:
然后,你可以写:
<?php
$player = PlayerRafQuery::create()
->filterById($id)
->findOneOrCreate();