Дружественные URL-адреса в Laravel, я делаю это правильно?

Вот мой маршрут:

Route::get('location/{id}/{title?}', array('as' => 'scouting_single', 'uses' => 'ScoutingController@get_single')); 

Класс прост:

 public function get_single($id, $title ='') { $location = new Location; if(is_numeric($id)) { $location = $location->find($id); if(isset($location)) { $author = User::find($location->author); $meta = $location->find($id)->metakeywords; if($title == '') { $slug = Str::slug($location->title); return Redirect::to('location/'.$id.'/'.$slug); } return View::make('scoutingviews.view')->with('pagetitle', 'Location view') ->with('location', Location::find($id)) ->with('author', $author) ->with('meta', $meta); } else { return Redirect::to('/')->with('message', 'That record is not available'); } } else { return Redirect::to('404'); } } 

Кажется, все работает нормально, но после поиска вокруг кажется, что другие делают это по-другому, как сохранение пули в db, но я просто хочу включить id в url … и сделать необязательным включение заголовка заголовка. Если пользователь удаляет слизню, он будет перенаправлять пользователя с помощью slug в любом случае.

Я все еще изучаю laravel, поэтому, пожалуйста, простите вопрос новичков в отношении дружелюбия, я просто не хочу / {id} / и / {id} / {title} считать в качестве дубликатов

Если вы беспокоитесь о SEO, то наличие пула URL-адресов в базе данных – это путь. Наличие идентификатора в URL-адресе не очень полезно для поисковых систем или пользователей. Это также должно упростить ваш код. В дополнение к этому, вы должны взглянуть на отношения «Жестокие», где вы можете присоединить своих пользователей к местоположению. Вместо того, чтобы

 $author = User::find($location->author); 

Вы могли бы

 $author = $location->author; 

Взаимоотношения были бы hasMany Locations, а Location belongsTo пользователю. Это также предполагает, что пользователи могут иметь много местоположений.