我正在使用Laravel datatable包来显示ajax表。
当我想在表中显示的集合为空时,我得到一个错误,错误是:
CollectionEngine.php第46行错误:array_keys()预期参数1为array,给定null
我的控制器包含两个简单函数
// get the view
public function getItems() {
return view('someview');
}
// get data for datatables
public function getItemsdata() {
$data = DataModel::all();
return Datatables::of($data)->make(true);
}
当$data
不为空时,一切工作正常,但如果它为空,我得到错误!我该如何解决这个问题?什么好主意吗?
我想你可以使用laravel的isEmpty()
函数
public function getItemsdata() {
$data = DataModel::all();
if($data->isEmpty()){ //I think laravel has isEmpty() function
return 'error!'; //throw exception here
}else{
return Datatables::of($data)->make(true);
}
}