2015-08-21 34 views
0

我正在使用Laravel Datatables包來顯示Ajax化表。Laravel Datatables空集合錯誤

我得到一個錯誤,當收集我想表明我的表是空的,錯誤的是:

ErrorException在CollectionEngine.php線46:array_keys()預計 參數1是陣列,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不是空的,一切正常,但如果它是空的,我得到的錯誤!我怎樣才能解決這個問題?有任何想法嗎?

+0

什麼是你laravel版本的isEmpty()功能? – aldrin27

+0

@ aldrin27 Laravel 5 – yazfield

回答

0

我認爲你可以使用laravel

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); 
    } 
} 
+0

好吧,這不會解決它,因爲這將導致在前端(Datatables JS)的錯誤,它會顯示一個警告與異常錯誤消息。 – yazfield

+0

當$ data數據爲空時,你能顯示返回的數據嗎? – aldrin27

+0

你的答案肯定會解決php錯誤(我在發佈之前完成了),但即使我返回一個空數組(json),因爲它期望json響應中的某些鍵,但仍然存在javascript錯誤 – yazfield