Пример #1
0
 /**
  * 赋予玩家一张卡片
  * @param $intCardId
  * @param string $strQuality
  * @return \App\OwnedCard|bool
  */
 public function appendCard($intCardId, $strQuality = 'normal')
 {
     // 取得卡片情报
     $objCard = Card::find($intCardId);
     // 卡片情报不正确
     if (!$objCard || empty($objCard)) {
         return false;
     }
     // Transaction
     DB::beginTransaction();
     try {
         // 初始化玩家卡片
         $objOwnedCard = new OwnedCard();
         // 玩家卡片情报Set
         $objOwnedCard->createOwnedCard($intCardId, $this->id, $strQuality);
         // 保存
         if (!$objOwnedCard->save()) {
             throw new Exception('Save Failed');
         }
         DB::commit();
     } catch (Exception $e) {
         // TODO Dev Log
         DB::rollback();
         // 失败
         return false;
     }
     return $objOwnedCard;
 }