Свойство [slug] не существует в этом экземпляре коллекции - PullRequest
0 голосов
/ 19 апреля 2020

Я получил эту ошибку при попытке перейти на страницу сведений о продукте, используя слаг, который уже хранится в моей базе данных

введите описание изображения здесь

нет это код в моем index.blade. php

<div class="ps-shoe__thumbnail"><a class="ps-shoe__favorite" href="#"><i class="ps-icon-heart"></i></a><img src="{{ $product->image }}" alt=""><a class="ps-shoe__overlay" href="{{ route('products.show', $products->slug) }}"></a>

и это маршрут

Route::get('/all/{slug}', 'ProductsController@show')->name('products.show');

это функция show в моем контроллере

 public function show($slug){

    $products = products::where('slug', $slug)->first();
    return view('products.show')->with('products', $products);

}

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

вы передаете $products своему клинку, но используйте его как $product->image. Я думаю, что это ваша проблема.

<div class="ps-shoe__thumbnail"><a class="ps-shoe__favorite" href="#"><i class="ps-icon-heart"></i></a><img src="{{ $products->image }}" alt=""><a class="ps-shoe__overlay" href="{{ route('products.show', $products->slug) }}"></a>
0 голосов
/ 20 апреля 2020

Проблема, которую я вижу здесь:

Заменить с:

public function show($slug){

    $products = products::where('slug', $slug)->first();
    return view('products.show')->with('products', $products);

}

Заменить на:

public function show($slug){

    $products = Product::where('slug', $slug)->first();
    return view('products.show')->with('products', $products);

}

убедитесь, что вы использовали КАПИТАЛ "P" в продуктах, а также удалены последние "S", так как нам нужно использовать форму множественного числа модели. Также я думаю, что из-за этого вы не получаете данные из базы данных.

...