Laravel - 使用ajax获取两个日期之间的记录
Posted
技术标签:
【中文标题】Laravel - 使用ajax获取两个日期之间的记录【英文标题】:Laravel - get records between two dates with ajax 【发布时间】:2017-03-27 08:25:09 【问题描述】:我使用 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)
有什么问题?
我在标题中添加了以下内容:
<meta name="csrf-token" content=" csrf_token() " />
如何通过 Laravel 和 jquery ajax 获取日期之间的记录?
【问题讨论】:
created_at 是订单表中的列名... 【参考方案1】:您可以使用whereBetween()
来获取日期之间的结果:
$orders = Auth::user()
->orders()
->whereBetween('created_at', [$start_date, $end_date])
->get();
希望这会有所帮助!
【讨论】:
【参考方案2】:对于查询,您可以这样做:
$orders = Auth::user()->orders()
->whereBetween('created_at', array($start, $end))
->get();
对于500 (Internal Server Error)
,您可以检查您的laravel.log
文件。
【讨论】:
laravel.log 说 : ... ...te\Pipeline\Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request)) #19 C: \wamp\www\dine\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(122): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #20 C:\wamp\www \dine\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(87): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request)) #21 C:\wamp \www\dine\public\index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request)) #22 main 该错误在 cmets 中不可读。您可以将其添加到您的问题中,或者图像也可以。以上是关于Laravel - 使用ajax获取两个日期之间的记录的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 Laravel 中取两个日期之间的数字并减去它