从乞讨开始我有这样的路线
Route::resource( '/product-cat', 'ProductCategoryController' );
和我的模特
class ProductCategory extends Model
{
use Translatable;
public $translatedAttributes = ['name'];
protected $fillable = ['name'];
}
以下是我如何将变量$productCategory
发送到控制器
<a href="{!! URL::route('product-cat.edit', $productCategory->id) !!}"> edit</a>
这是控制器
public function edit( ProductCategory $productCategory ) {
return view( 'product.category.edit', compact( 'productCategory' ) );
}
现在在我的控制器中我尝试获取$productCategory
的值
尝试dd($productCategory)
但是空了
其他控制器工作正常。我在这里失踪了。
答案 0 :(得分:0)
为了使laravel路由模型绑定起作用,方法中type-hint模型属性的名称应与路由名称匹配。
所以在你的情况下,路线看起来像:
Route::resource( '/product-cat', 'ProductCategoryController' );
这意味着使用路由模型绑定类型提示var必须与/product-cat
同名,这是laravel规则。
所以在你的方法中:
public function edit( ProductCategory $productCat ) {
return view( 'product.category.edit', compact( 'productCat' ) );
}