Вначале лучше изучить паттерн "примеры из документации", а потом уже бест-практики из Интернета, пакеты и др. велосипеды)
$this->model = $id ? Model::findOrFail($id) : new Model();
Для какой логики сия схема непонятно. Похоже на firstOrCreate и тогда в Ларавел есть одноименный метод. Если это типа метод show, то нужно юзать
Model Binding
И там не нужно проверять никакие id и findOrFail идет вкомплекте. Примеры хороших роутов/методов/наименований есть в ресурсных контроллерах/маршрутах. Советую посмотреть.