/** * 赋予玩家一张卡片 * @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; }