Ваш подход не имеет большого смысла, на мой взгляд.
Если ваш Game
экземпляр будет зависеть от наличия currentGame
, то не будет возможности создать экземпляр, если currentGame
is falsey.
Просто поместите проверку в конструктор и сгенерируйте исключение, если не может быть создан экземпляр.
public function __construct()
{
$this->currentGame = Game::where('status', true)->first();
if (! $this->currentGame) {
throw new \Exception('Current game not available');
// probably better if you define your own exception class
}
}
Затем вы просто проверяете, работает ли это при создании экземпляра, и если этопродолжает нормально:
try {
$game = new Game();
$game->getPlayers();
}
catch (\Exception $e) {
// $game is not safe to use, do something about it.
}