Laravel参数问题

时间:2016-12-13 15:59:52

标签: php laravel

App \ Http \ Controllers \ Company \ OrderController :: store()缺少参数2

我在商店控制器中遇到此错误,我的表单传递了2个参数但第二个参数未找到。

路由:Route :: resource(' order',' OrderController'); $ company转换为控制器中的模型。

表格:

<form class="form-horizontal" role="form" method="POST" action="{{action('Company\OrderController@store', [$company,$orderid])}}">
    {{ csrf_field() }}
    <button type="submit" class="btn btn-primary">Accept</button>
</form>

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您使用store创建了Route::resource()路由,那么它不会指望任何参数,应该如下所示:

public function store(Request $request)

因此,您需要使用隐藏输入传递数据,例如:

{!! Form::hidden('data', 'some data') !!}

然后在控制器中获取数据:

$data = $request->data;

答案 1 :(得分:1)

您应该像这样指定key-value对:

['company_id' => $company->id, 'order_id' => $order->id]

所以你的表格看起来像是:

<form action="{{ action('Company\OrderController@store', ['company_id' => $company->id, 'order_id' => $order->id]) }}">

    <input type="hidden" name="_token" value="{{ csrf_token() }}">

    <button type="submit" class="btn btn-primary">Accept</button>

</form>

希望这有帮助!