我有以下表格:
{!! Form::open(['action' => 'PublicController@showProfile','method' => 'post', 'class' => 'form-horizontal']) !!}
{!! Form::token(); !!}
<input type="text" class="form-control" name="from">
<span class="input-group-addon"> to </span>
<input type="text" class="form-control" name="to">
<button type="submit" class="btn blue">Query</button>
{!! Form::close() !!}
在我的控制器中,我得到这样的表单字段:
public function showProfile(Request $request)
{
$to = $request->get("to");
$from = $request->get("from");
$giftReceived = App\GiftSent::whereBetween('created_at', [$from, $to])->get();
dd($from);
return view('user.profile',compact('giftReceived'));
}
在上面的代码中dd($from)
来null
我错过了什么吗?
答案 0 :(得分:1)
首先,正如您的评论中所述,您正在使用 Route :: get 并将表单提交为 POST ,这显然是错误的。所以,你应该得到 MethodNotAllowedException
所以,请将线路更改为
{!! Form::open(['action' => 'PublicController@showProfile','method' => 'GET', 'class' => 'form-horizontal']) !!}
在任何情况下,不要使用Laravel的请求类,而是使用辅助函数request()
所以,基本上,它应该像
public function showProfile() {
$from = request()->get('from');
$to = request()->get('to');
dd($from, $to);
}
现在一切都应该正常工作:)
答案 1 :(得分:0)
如果您的帖子数据正在发送到控制器,您可以访问以下值:
// Get all request data via method POST.
$requestData = Request::instance()->request->all();
dd($requestData['from']);
dd($requestData['to']);