本文整理匯總了PHP中Transfer::setMember方法的典型用法代碼示例。如果您正苦於以下問題:PHP Transfer::setMember方法的具體用法?PHP Transfer::setMember怎麽用?PHP Transfer::setMember使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Transfer
的用法示例。
在下文中一共展示了Transfer::setMember方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getCurrentTransferBundle
/**
* Get one Transfer::STATE_COLLECT transfer to bundle. If none exists one
* will be created. If the users state is NOT paid the state will set
* to Transfer::STATE_RESERVED.
*
* NOTE: This transfer wont get saved by this method!
*
* @param PropelPDO $con
* @return [type]
*/
public function getCurrentTransferBundle($currency, PropelPDO $con)
{
// $transfer = TransferQuery::create()
// ->filterByState([Transfer::STATE_COLLECT, Transfer::STATE_RESERVED])
// ->filterByMember($this)
// ->orderBy(TransferPeer::STATE, Criteria::DESC)
// ->findOne($con);
// SELECT * FROM ... FOR UPDATE
// to ensure consistency through table row lock
$sql = "SELECT * FROM " . TransferPeer::TABLE_NAME . " WHERE" . " member_id = :member_id AND" . " currency = :currency AND" . " state in (" . Transfer::STATE_COLLECT . ", " . Transfer::STATE_RESERVED . ")" . " ORDER BY state desc" . " FOR UPDATE";
$stmt = $con->prepare($sql);
$stmt->execute(array(':member_id' => $this->getId(), ':currency' => $currency));
$formatter = new PropelObjectFormatter();
$formatter->setClass('Transfer');
$transfer = $formatter->format($stmt);
if (count($transfer) > 0) {
$transfer = $transfer[0];
} else {
$transfer = null;
}
if (!$transfer) {
$transfer = new Transfer();
$transfer->setMember($this);
$transfer->setCurrency($currency);
if (!$this->hadPaid()) {
$transfer->setState(Transfer::STATE_RESERVED);
}
}
return $transfer;
}