В вашем контроллере не так уж много логики, так что не все так плохо. Но да, вы можете. Немного вещей, которые я замечаю, это $event->finish == 0
, я бы создал область видимости для вашей модели в первую очередь
public function isFinished()
{
return $this->finish == 0;
}
Как именно вы получаете EventId? Я полагаю, это передается в параметре? Таким образом, вы должны быть в состоянии получить это как зависимость?
public function YourcontrollerFunction(Request $request, $eventId)
{
//Either you get the request from a parameter or the $request->event_id
}
так что небольшой рефакторинг будет выглядеть так:
public function YourcontrollerFunction(Request $request, $eventId)
{
$event = Event::findOrFail($eventId);
if($event->isFinished()) {
return $content
->header(__('Timing'))
->description(__('List'))
->body($this->grid());
}
//No need for the else.
return $content
->header(__('Start list'))
->description(__('List'))
->body(view('admin.events.finished'));
}
Если ответ используется часто, вы можете создать класс Response, который также хранится, но не вижу причины для этого здесь.