【问题标题】:Query String Filtering with Datatables in Laravel 5.4在 Laravel 5.4 中使用数据表查询字符串过滤
【发布时间】:2017-11-07 08:16:46
【问题描述】:

我将YajraBox 用于数据表,它是 Laravel 扩展。

我想让它与我的查询字符串过滤一起使用,所以想法是 tah 我需要将搜索请求传递给 ajax 请求

这是我的表单输入的一部分:

http://127.0.0.1:8000/lots?make%5B%5D=TOYOTA

所以结果必须是:只有丰田生产的批次

这是我的 YajraBox 数据表脚本:

<script type="text/javascript">
        $(document).ready(function(){
            $('#table').DataTable({
                bInfo: false,
                searching: false,
                processing: true,
                serverSide: true,
                ajax: '{{  url("/data") }}',
                columns: [
                    { data: 'date', name: 'date' },
                    { data: 'bid', name: 'bid' },
                    { data: 'auction_name', name: 'auction_name' },
                    { data: 'pics_urls', name: 'pics_urls' },
                    { data: 'company', name: 'company' },
                    { data: 'model_name_en', name: 'model_name_en' },
                    { data: 'model_type_en', name: 'model_type_en' },
                    { data: 'grade_en', name: 'grade_en' },
                    { data: 'mileage_en', name: 'mileage_en' },
                    { data: 'model_year_en', name: 'model_year_en' },
                    { data: 'color_en', name: 'color_en' },
                    { data: 'displacement', name: 'displacement' },
                    { data: 'transmission_en', name: 'transmission_en' },
                    { data: 'scores_en', name: 'scores_en' },
                    { data: 'start_price_en', name: 'start_price_en' },
                    { data: 'result_en', name: 'result_en' }
                ]
            });
        });
    </script>

这是我的视图和 ajax 控制器:

public function index()
    {
        return view('lots.browse');
    }

    public function indexData(LotFilters $filters)
    {
       $lots  = Lot::filter($filters);

        return Datatables::eloquent($lots)->make(true);
    } 

所以我的想法是,我需要将一些howe ?make%5B%5D=TOYOTA 传递给ajax 请求ajax: '{{ url("/data") }}',,有人知道怎么做吗?

【问题讨论】:

    标签: php jquery ajax datatable laravel-5.4


    【解决方案1】:

    你可以这样做:

    "{{ url('/data') }}" + "?make="+value  // where value contains TOYOTA in it
    

    并在控制器中获取此值,例如:

    Input::get('make');
    

    【讨论】:

    • 哇,你能告诉我如何输入吗?我必须使用这个外墙:use Illuminate\Support\Facades\Input; 吗?
    • 要使用Input,你必须use Illuminate\Support\Facades\Input;。我只是忘记在答案中提及这一点
    • 你能告诉我控制器的外观吗?对不起。我是新手。我尝试这样:$lots = Lot::filter($filters)-&gt;withInput(Input::all()); 但它不起作用
    • 我想通了!!谢谢!!
    • @DmitryMalys 有点忙,很高兴知道你已经解决了 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2014-09-25
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多