سلام و وقت بخیر
من قبلا توی ورژن 5.7 لاراول به این صورت توی کنترولر مدل را وصل کرده بودم:
public function single(Product $product)
{
///////
}
و به درستی کار می کرد به تازگی لاراول را آبدیت کردم حالا دیگه اون قسمت 404 not found می شود
ولی به این صورت قرار می دهم بالا می آید ولی ارور می دهد: (public function single($product
ErrorException (E_NOTICE)
Trying to get property 'title' of non-object
حالا دقیقا نمی دونم لاراول توی ورژن جدیدتر به این صورت مشکل دارد؟ public function single(Product $product)
باید کدها را تغییر دهم؟
ممنون می شویم راهنمایی کنید
بله
این روت هست
Route::get('/product/{product}', 'ProductController@single')->name('product');
این مدل هست:
<?php
namespace App;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Hash;
class Product extends Model
{
protected $fillable = [
'user_id',
'category_id',
'title',
'slug',
'author',
'abstract',
'body',
'details',
'contents',
'price',
'image',
'link',
'preview',
'type',
'tags'
];
public function path()
{
return "/product/$this->slug";
}
public function user()
{
return $this->belongsTo(User::class);
}
public function categories()
{
return $this->belongsTo(Category::class);
}
}
و این هم کنترلور:
public function single(Product $product)
{
$findCategory = Category::where('id', $product->category_id)->first();
$sameCategories = Product::where('category_id', $product->category_id)->latest()->paginate(10);
return view('products.single', compact('product', 'sameCategories', 'findCategory'));
}
شاید پاسخ شما همینجا باشد
اینو تست گرفتم که باز not found شد:
public function single(Product $product)
{
return $Product;
}با سلام . @fazel1amir2
شما چطوری روت رو فراخوانی میکنید ؟ پارامتری که صدا میزنید چیه ؟ منظورم آدرس هست . مثلا میخواین روی یک لینکی کلیک کنید که بره به صفحه محصول. اومدین توی ویو اینطوری لینکو تعریف کردین ؟
<a href="https://roocket.ir/{{ $product->path }}">لینک محصول</a>سلام مرسی از همه اوکی شد.
من از مدلroute model biding استفاده کرده بودم منتهی یادم رفته بود توی قسمت AppServiceProvider اضافه کنم توی این قسمت توضیح داده شده:
https://roocket.ir/series/laravel-from-scratch/episode/11
ممنون