managers = collect(); } /** * Execute the console command. * * @return int */ public function service(): int { try { $db = DBUtil::instance(); $db->beginTransaction(); $targets = $this->getTargets(); $this->outputInfo(sprintf("取得対象 %d件", $targets->count())); // データハンドリング foreach ($targets as $data) { $this->handleData($data); } $db->commit(); } catch (Exception $e) { $db->rollBack(); throw $e; } return self::RESULTCODE_SUCCESS; } private function getTargets() { $access = SeasonTicketContractSelection::getAccess(); $query = SeasonTicketContractSelection::getQuery() ->whereIn(SeasonTicketContractSelection::FIELD_STATUS, [SelectionStatus::START]); return $access->all($query); } private function handleData(SeasonTicketContractSelection $data) { FillCandidates::dispatch($data->getRecordId()); } }