Вы должны сделать что-то вроде следующего:
// Route
Route::get('/{page}', 'PageController@show')->name('page.show');
// Controller Method
public function show(Page $page)
{
return view('templates.page', compact('page'));
}
Если /{page}
содержит id
, например: 1
, а в таблице страниц есть столбец id
, то все готово, но если вы хотите запросить таблицу страниц, отличную от идентификатора, объявите метод getRouteKeyName
в вашей Page
модели и верните имя этого столбца из этого метода. Так, например, если ваша таблица страниц имеет уникальный slug
, а ваш uri
имеет что-то вроде example.com/contact
, тогда объявите следующий метод:
public function getRouteKeyName()
{
return 'slug'; // db column name
}
Теперь платформа будет запрашивать страницу, используя что-то вроде where slug = {slug from uri}
, отличное от id
/ default. Надеюсь, это поможет сейчас.