我需要通过点击按钮从index.blade.php向我的edit.blade.php传递一个额外的参数($ uid)。
我的index.blade.php:
<a href="{!!action('FlyersController@edit', ['id' => Auth::user()->id, 'uid' => 1])!!}" type="button" class="btn btn-block btn-lg btn-info vorlageBtn card-link">Edit </a>
My FlyersController:
public function edit($id, $uid)
{
return view('backend.flyers.edit')->withUid($uid);
}
使用上面的代码我得到一个错误:&#34;缺少参数2的App \ Http \ Controllers \ FlyersController :: edit()&#34;
我在这里做错了什么?
答案 0 :(得分:2)
错误不是从action方法中抛出的。它来自该URL的路由。
检查将参数传递给控制器的URL。
如果这是你想要的URL localhost:8000/backend/flyers/10/edit?%24uid=1
,那么第二个参数在$request
变量中,不在控制器函数参数中。
答案 1 :(得分:1)
您应该将数组传递给action()
帮助程序:
action('FlyersController@edit', ['id' => Auth::user()->id, 'uid' => 1])
答案 2 :(得分:1)
确定, 我能解决这个问题的唯一方法是在My FlyersController中使用以下内容:
public function edit(Request $request, $id)
{
return view('backend.flyers.edit')->withRequest($request);
}
然后在我的视图中使用{{request-&gt; uid}}访问uid。
如果有人有更好的解决方案,请告诉我。
答案 3 :(得分:-1)
使用此代码
return view('backend.flyers.edit', ['var1' => $var1, 'var2' => $var2]);
这会将两个或多个变量传递给您的视图