Php Laravel-使用ajax获取两个日期之间的记录

Php Laravel-使用ajax获取两个日期之间的记录,php,jquery,ajax,laravel,post,Php,Jquery,Ajax,Laravel,Post,我使用Laravel,我想得到两个日期之间的记录。在前端,我使用daterangepicker并编写: $('#reportrange').on('apply.daterangepicker', function(ev, picker) { var start = picker.startDate.format('YYYY-MM-DD'); var end = picker.endDate.format('YYYY-MM-DD'); $.ajaxSetup({

我使用Laravel,我想得到两个日期之间的记录。在前端,我使用daterangepicker并编写:

$('#reportrange').on('apply.daterangepicker', function(ev, picker) {
  var start = picker.startDate.format('YYYY-MM-DD');
  var end = picker.endDate.format('YYYY-MM-DD');

 $.ajaxSetup({
                headers: {
                    'X-XSRF-Token': $('meta[name="_token"]').attr('content')
                }
            });

            $.ajax({
        type: "POST",
                url   : '{{url()}}/getOrders',
data: {start: start, end: end},
                cache : false,

                beforeSend : function() {
                    console.log('krece');
                },

                success : function(data) {
                    console.log(data);

                },

                error : function() {

                }
            });


});
因此,我尝试发送开始和结束日期,并获取介于和之间的日期,在Laravel中,我有:

路线:

Route::post('/getOrders', 'OrdersController@getOrders');
在OrdersController中:

    public function getOrders(Request $request) {
    $start = $request->start;
    $end = $request->end;

//ALSO NEED QUESRY WHICH WILL FETCH ROWS BETWEEN DATES
//$orders = Auth::user()->orders()->get(); ... ...

    return $orders;

    }
现在,当我在daterangepicker中选择一些日期时,我得到:

 POST http://localhost:8888/getOrders 500 (Internal Server Error)
什么是问题

在标题中,我放置了Off cource:

  <meta name="csrf-token" content="{{ csrf_token() }}" />


如何使用Laravel和jquery ajax在日期之间获取记录?

您可以使用
whereBetween()
在日期之间获取结果:

$orders = Auth::user()
            ->orders()
            ->whereBetween('created_at', [$start_date, $end_date])
            ->get();

希望这有帮助

您可以使用
whereBetween()
获取日期之间的结果:

$orders = Auth::user()
            ->orders()
            ->whereBetween('created_at', [$start_date, $end_date])
            ->get();

希望这有帮助

对于查询,您可以执行以下操作:

$orders = Auth::user()->orders()
                      ->whereBetween('created_at', array($start, $end))
                      ->get();

对于
500(内部服务器错误)
您可以检查
laravel.log
文件。

对于查询,您可以执行以下操作:

$orders = Auth::user()->orders()
                      ->whereBetween('created_at', array($start, $end))
                      ->get();

对于
500(内部服务器错误)
您可以检查您的
laravel.log
文件。

created\u at是orders表中的组件名称…created\u at是orders表中的组件名称…laravel.log说:。。。te\Pipeline\Pipeline.php(103):调用\u user\u func(对象(闭包)、对象(照亮\Http\Request))\19 C:\wamp\www\dine\vendor\laravel\framework\src\light\Foundation\Http\Kernel.php(122):照亮\Pipeline\Pipeline->然后(对象(闭包))\20 C:\wamp\www\dine\vendor\laravel\framework\src\light\Foundation\Http\Kernel.php(87):illumb\Foundation\Http\Kernel->sendRequestThroughRouter(Object(illumb\Http\Request))#21c:\wamp\www\dine\public\index.php(54):illumb\Foundation\Http\Kernel->handle(Object(illumb\Http\Request))#22{main}注释中不可读该错误。你可以把它添加到你的任务中,或者一张图片也可以。laravel.log说:。。。te\Pipeline\Pipeline.php(103):调用\u user\u func(对象(闭包)、对象(照亮\Http\Request))\19 C:\wamp\www\dine\vendor\laravel\framework\src\light\Foundation\Http\Kernel.php(122):照亮\Pipeline\Pipeline->然后(对象(闭包))\20 C:\wamp\www\dine\vendor\laravel\framework\src\light\Foundation\Http\Kernel.php(87):illumb\Foundation\Http\Kernel->sendRequestThroughRouter(Object(illumb\Http\Request))#21c:\wamp\www\dine\public\index.php(54):illumb\Foundation\Http\Kernel->handle(Object(illumb\Http\Request))#22{main}注释中不可读该错误。您可以将其添加到您的任务中,或者图像也可以。