【发布时间】:2018-05-15 13:39:13
【问题描述】:
我正在使用 laravel 和 datatables 版本详细信息是:
| Laravel 5.5 |
| Yajra/datatables 8* |
当我尝试查询数据时,我总是遇到这个错误
"message": "Method where does not exist.",
"exception": "BadMethodCallException",
我的代码在下面
public function getExpensesHistory(Request $request){
$data = Expenses::with(['expenses' => function ($query) {
$query->select('id', 'type_name');
},'user' => function ($query) {
$query->select('id', 'name');
}])->orderBy('exp_date','desc')->get();
$datatables=DataTables::of($data);
$from_date = date('Y-m-d',strtotime($datatables->request->get('from_date')));
$end_date = date('Y-m-d',strtotime($datatables->request->get('end_date')));
if ($end_date and $from_date) {
$datatables->where('exp_date','<=',$end_date)->where('exp_date','>=',$from_date);
}
return $datatables->make(true);
}
【问题讨论】:
-
where是查询构建器的一部分,因此您可能需要在调用->get之前调用它。 -
您的链接不会在查询生成器上调用
get(),但您会这样做 -
您需要在查询中进行所有查询更改,而不是在获取集合之后
标签: php laravel datatable laravel-5.5