Я создал следующий метод в модели News
в проекте Laravel:
public function path() {
return route('news.show', $this);
}
Теперь все работает нормально и возвращает следующую структуру URL: www.mydomain.com/news/{id}
Однако я бы хотел немного его настроить. Я хочу, чтобы моя структура URL была такой: www.mydomain.com/news/{id}/{slug}
Итак, я хочу знать, как мне нужно изменить функцию path
, чтобы вернуть эту структуру URL - т.е. с id
и slug
?
Вот одно решение, которое я попробовал:
// web.php
Route::get('news/{article}/{slug}', 'NewsController@show')->name('news.show');
// News.php
class News extends Model
{
public function path() {
return route('news.show', $this);
}
}
Затем я запускаю тинкер и запускаю эту функцию пути и получаю следующую ошибку :
Illuminate/Routing/Exceptions/UrlGenerationException with message 'Missing required parameters for [Route: news.show] [URI: news/{article}/{slug}].'
Я пробовал другие варианты, но, похоже, ничего не работает.
Есть идеи, как настроить это, чтобы оно работало?
Спасибо.