Laravel数据表空收集错误


Laravel Datatables empty collection error

我正在使用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);
   }
 }