2016-09-05 22 views
1

我想要簡單的錯誤處理,從而如果查詢不返回任何東西我想重定向用戶到404頁,但現在我只是呼應消息看到如果觸發,這裏是我的代碼錯誤處理查詢不工作在控制器laravel

public function show($user_id, $username) { 

    $user = User::where('id', $user_id)->where('name', $username)->get(); 

    if (count($user = 0)) { 
     echo "REEEEEEE"; 
    } 
    else 
    { 
     $user->load('comments.users', 'posts.users'); 

     return $user; 
    } 
    //return view ('users.show', compact('user')); 

} 

這隻回聲消息並不會加載關係或返回用戶如果查詢返回的東西,我是不是做錯了什麼?

回答

1

更改您這樣的代碼:

$userCount = User::where('id', $user_id)->where('name', $username)->count(); 

if ($userCount == 0) 

在你的代碼有一個錯誤的if語句:

if (count($user = 0))成爲if (count(0))

+0

它的工作原理很好的一個老闆,任何想法,爲什麼我的代碼沒有按」工作?語法不正確? – user6073700

+0

@ user6073700你輸錯了,'count($ user = 0)'不是正確的語句。您將用戶分配給0,然後分配'if(count(0))'。如果它幫助標記我的答案是正確的,謝謝 –