@Tarasovych

Как правильно получить значение по ключу?

Есть контроллер:
public function show($id)
    {
        $blog = Blog::find($id);
        $category = Category::find($blog->category_id);
        return view('blog.show',compact('blog'));
    }

Путь:
Route::get('blog/{id}',['as'=>'blog.show','uses'=>'BlogController@show']);

View:
@foreach ($blogs as $key => $blog)
...
href="{{ route('blog.show',$blog->id) }}
...
@endforeach

Как вместо id подставить slug в ссылку? slug - поле таблицы blog
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
zvermafia
@zvermafia
WebDev
Method:
public function show($slug)
{
    $blog     = Blog::where('slug', $slug)->firstOrFail();
    $category = Category::find($blog->category_id);

    return view('blog.show', compact('blog'));
}


Route:
Route::get('blog/{slug}', 'BlogController@show')->name('blog.show');


View:
@foreach ($blogs as $blog)
    <a href="{{ route('blog.show', $blog->slug) }}">{{ $blog->title }}</a>
@endforeach
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@D3lphi
Вторым аргументом в функцию route() передается массив с параметрами запроса:
{{ route('blog.show', ['id' => $blog->slug]) }}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы