【问题标题】:get the request values in Laravel在 Laravel 中获取请求值
【发布时间】:2018-04-15 03:44:51
【问题描述】:

我希望通过日期选择器和选择字段进行搜索查询。 如何从下面的视图文件中获取请求值到控制器? 我可以在哪里修改代码?谢谢。

index.blade.php

<div class="form-group col-sm-6">
    {!! Form::open(array('class' => 'form', 'method' => 'get', 'url' => url('/pdfs/job_finished_search'))) !!} 
       {!! Form::input('text', 'datepicker_from', null, ['placeholder' => 'Fra', 'id' => 'datepicker_from']) !!}
       {!! Form::input('text', 'datepicker_to', null, ['placeholder' => 'Til', 'id' => 'datepicker_to']) !!} 
       {!! Form::select('customer_name', $jobs->pluck('customer_name', 'customer_name')->all(), null, ['class' => 'form-control']) !!}
       {!! Form::submit('Søke', ['class' => 'btn btn-success btn-sm']) !!} 
    {!! Form::close() !!}
</div>

Controller.php

public function job_finished_search(Request $request, Job $jobs)
{

    $jobs = Job::onlyTrashed()
            ->whereBetween('created_at', array(
              (Carbon::parse($request->input('datepicker_from'))->startOfDay()),
              (Carbon::parse($request->input('datepicker_to'))->endOfDay())))
            ->where('customer_name', 'like', '%'.$request->customer_name.'%')
            ->orderBy('deleted_at', 'desc')
            ->paginate(15);

       if (empty($jobs)){
           Flash::error('Search result not found');
    }

    return view('pdfs.index', ['jobs' => $jobs]); 
}

【问题讨论】:

  • 您能否编辑您的帖子以显示在您的控制器中返回 dd($request-&gt;all()); 的内容?
  • @Asur, hi dd 结果是,array:3 [▼ "datepicker_from" => "10/01/2017" "datepicker_to" => "10/31/2017" "customer_name" => “asdfasdf”]
  • @Asur,我认为核心是如何调整2个参数以返回视图。

标签: laravel laravel-query-builder laravel-request laravel-response


【解决方案1】:

有多种方法可以获取请求数据,例如获取 datepicker_from 值,您可以使用以下任何一种方法

$request->datepicker_from 
$request->input('datepicker_from')
$request->get('datepicker_from')

选择你最喜欢的一个

参考https://laravel.com/docs/5.5/requests

【讨论】:

    【解决方案2】:

    要获取请求值,您可以使用get 方法,尝试:

    $customer = $request-&gt;get('customer_name','default_value');

    【讨论】:

      【解决方案3】:

      要获取请求值,您可以设置像$input= $request-&gt;all() 这样的对象。然后你可以使用数组对象来获取特定字段,例如访问你的日期选择器,你可以写$input['datepicker_from']。在代码中声明$jobs 对象之前,您需要放置$input= $request-&gt;all()

      【讨论】:

      • $input= $request-&gt;all() 返回一个数组,而不是一个对象。解释的方法很适合人们了解,但您最好将措辞修正为准确。
      猜你喜欢
      • 2018-10-24
      • 2014-01-18
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 1970-01-01
      • 2019-04-21
      相关资源
      最近更新 更多