我無法正常工作。基本上這個功能是在我點擊用戶配置的刪除按鈕後調用的。用戶可以有多個配置。發生什麼事是,一旦我刪除一個配置,它會尋找另一個配置,如果發現它將其設置爲當前配置文件。如果不是應該設置CONFIG_DONE回到0的第一位工作正常,但如果$firstProfile
回報什麼的,而不是進入返回我一個錯誤的else
..Laravel 5.3檢查結果是否存在
代碼:
public function delete(UserConfig $config) {
$user = Auth::user();
$uid = $user->id;
if ($uid == $config->user_id) {
UserConfig::where('id', $config->id)->delete();
$firstProfile = UserConfig::where('user_id', $uid)->first()->id;
if(count($firstProfile)){
$user = User::find($uid);
$user->current_profile = $firstProfile;
$user->save();
return view('/settings');
} else {
$user = User::find($uid);
$user->config_done = 0;
$user->save();
return view('/home');
}
}
}
錯誤:
ErrorException in UserConfigController.php line 100:
Trying to get property of non-object
in UserConfigController.php line 100
at HandleExceptions->handleError('8', 'Trying to get property of non-object', '/Users/jordykoppen/git/beef-monitor/app/Http/Controllers/UserConfigController.php', '100', array('config' => object(UserConfig), 'user' => object(User), 'uid' => '1')) in UserConfigController.php line 100
請記住,我對Laravel和整個MVC環境都很陌生。
如果找不到結果,Eloquent會返回null您可以將'User :: find'結果包裝在if語句中。如果它是集合,你可以檢查使用任何的http://stackoverflow.com/questions/20563166/eloquent-collection-counting-and-detect-empty – arma
我試圖通過將'$ firstProfile'包裹在'if'語句,但它會返回一個錯誤:'嘗試獲取非對象的屬性' –