【问题标题】:How to bind a model to resource store method in Laravel 5.3如何在 Laravel 5.3 中将模型绑定到资源存储方法
【发布时间】:2017-03-01 18:56:15
【问题描述】:

我正在尝试为 Route::resource 方法制作的商店路线分配产品模型

public function store(Request $request, Product $product)

我已经使用过一些路由模型绑定,它非常适合

public function show(Product $product)

但我不能强制 store 方法使用 Product 模型。

【问题讨论】:

    标签: laravel binding model routes


    【解决方案1】:

    好的,既然有人将此问题标记为收藏,我将解释我做了什么来使它起作用

    这是我们声明路由的方式,我们需要在Route::resource调用之前放置特定的路由

    Route::post('foo/{baz}', [
            'as'    => 'foo.store',
            'uses'  => 'FooController@store']
    );
    Route::resource('foo', 'FooController');
    

    我们的Foo控制器存储方法:

    public function store(Baz $baz, Request $request){
    
    }
    

    $baz 变量只是在表单操作 url 中的 url 斜杠之后传递。可以是这样的

    <form action="foo/5">
    

    请记住,"foo&amp;baz=5" 不起作用

    出于某种原因,我不必,或者至少没有尝试将 Foo 模型与控制器绑定 - 它可以正常工作。

    如果对 PHP 反射很重要,控制器方法中的路由和参数的顺序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-03
      • 2016-12-30
      • 1970-01-01
      • 2020-05-07
      • 2017-01-10
      • 2017-05-22
      • 2023-04-08
      • 2017-12-05
      相关资源
      最近更新 更多