Я получаю конкурс на просмотр.
Мы можем
1. показать результаты
2. отправить на "вычисление" победителей (дата расчета результатов наступила, а победителей нет)
3. показать конкурс (еще не начался, все ждут)
Есть подозрения, что я делаю что то не так
Код: Выделить всё
public function actionView($id)
{
$row = $this->competitionRepo->get($id);
if( $row->hasWinners() )
{
// $winners = $this->competitionRepo->getWinners($row->id);
$winners_data = new UsersService($row->winners);
return $this->render('result', [
'rows' => $winners_data->getUsers()
]);
}
else
{
if($row->isExpired())
{
return $this->redirect(['rand/calculate', 'id' => $row->id]);
}
return $this->render('view', [
'row' => $row
]);
}
}