路由模型绑定未获取数据

时间:2019-02-18 15:29:08

标签: laravel

我正在尝试实现路由模型绑定。

我有我的路线:

Route::get('/edit/{Word}', 'FlagWordsController@edit')->name('flagwords.edit');

我点击了foreach循环中的链接:

@foreach ($words as $word)
     <tr>

                    <td>
                        <a class="atrium-button--text" href="{{ route('flagwords.edit', $word->id) }}">
                            <svg width="18" height="18" viewbox="0 0 18 18">
                            <use xlink:href="#icon-edit"></use></svg>
                            <span>Edit</span>
                        </a>
                    </td>
                </tr>
            @endforeach

这是我的控制者:

public function edit(Word $word)
{
    dd($word);
    return view('backend.flag-words.create', compact('word'));
}

但是我dd时的数据为空。

1 个答案:

答案 0 :(得分:0)

您可以尝试执行显式绑定。要注册显式绑定,请使用路由器的ASTContext方法为给定参数指定类。您应该在local_imports类的启动方法中定义您的显式模型绑定:

model

接下来,定义一个包含Providers/RouteServiceProvider.php参数的路由:

public function boot()
{
 parent::boot();

 Route::model('word', App\Word::class);
}

因此,例如,对{word}的请求将从ID为1的数据库中注入Route::get('edit/{word}','FlagWordsController@edit'); 实例。