Я получаю сообщение об ошибке Trying to get property 'slug' of non-object (View: C:\laragon\www\mides\resources\views\products\edit.blade.php)
В Модель ,
class Product extends Model
{
// protected $primaryKey = 'slug';
// public $incrementing = false;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'slug', 'description', 'image', 'user_id',
];
/**
* Get the route key for the model.
*
* @return string
*/
public function getRouteKeyName()
{
return 'slug';
}
}
В Контроллер ,
public function edit(Product $product)
{
$product = Product::where('slug', '=', $product)->first();
return view('products.edit')->with('product', $product);
}
public function show(Product $product)
{
$product = Product::where('slug', '=', $product)->first();
return view('products.show')->with('product', $product);
}
В представлении (edit.blade.php)
<form role="form" method="POST" action="{{ route('products.update', $product->slug) }}">
В маршрутах / web.php,
Route::prefix('/account')->group(function () {
Route::get('/products', 'AccountController@products');
Route::get('/add-product', 'ProductController@create');
Route::get('/edit-product-{slug}', 'ProductController@edit');
Route::put('/update-{slug}', 'ProductController@update');
});
Route::resource('products', 'ProductController');
Как видите, вместо использования по умолчаниюURL ресурса CRUD, я определяю свой собственный URL, чтобы перейти к конкретному действию CRUD.Я также пытался изменить $ product-> slug на $ product-> id, но результаты такие же, я получил эту ошибку.
Что мне здесь не хватает?Кстати, я новичок в Laravel.
Заранее спасибо.