我使用Laravel 4.2.0。我想创建表单搜索, 这是我在blade.php中的代码:
var date1 = $('[name=date1]').val();
var date2 = $('[name=date2]').val();
$.ajax({
type: 'POST',
url: "{{URL::to('filterCode')}}",
data: "date1="+date1+"&date2="+date2,
dataType: 'json',
success: function(data){
console.log(data.code);
}
});
这是控制器中的代码 filterCode :
$date1 = Input::get('date1');
$date2 = Input::get('date2');
$filter = DB::table('orders')
->whereBetween('orders.date',array($date1,$date2))
->get();
foreach ($filter as $f) {
$data = array('code' => $f->code);
echo json_encode($data);
}
在数据库中记录:
----------------------
| code | date |
----------------------
| A001 | 2015-01-08 |
----------------------
| A002 | 2015-01-18 |
----------------------
| A003 | 2015-01-20 |
----------------------
如果我选择2015-01-08的日期到2015-01-10,它将显示代码A001。 如果我选择2015-01-08的日期到2015-01-18,它应该显示代码A001直到A002。 但它没有显示任何东西。你能救我吗?
答案 0 :(得分:0)
在控制器上试试这个。
$date1 = Input::get('date1');
$date2 = Input::get('date2');
$filter = DB::table('orders')
->whereBetween('date',array($date1,$date2))
->get();
$data = [];
foreach ($filter as $f) {
$data = array_add($data, 'code', $f->code);
}
return Response::json(['data' => $data]);