2015-06-10 78 views
0

你好,我已經使用Laravel 5已經有3天了,而且我遇到了問題。我正在測試我的編輯頁面,並且出現錯誤No query results for model。這是示例鏈接http://localhost:8000/profile/sorxrob/editsorxrob有一個用戶名。這是我的路線:Laravel沒有關於型號的查詢結果

Route::bind('user', function($user) { 
    return App\User::where('username', $user)->first(); 
}); 

Route::get('profile/{user}', '[email protected]'); 

Route::get('profile/{user}/edit', '[email protected]'); 

在我ConsultaProfileController這裏是公共職能:

public function edit($id) 
{ 
    $account = User::findOrFail($id); 
    return view('consulta.edit', compact('account')); 
} 

每當我試圖http://localhost:8000/profile/sorxrob/edit它給我的錯誤No query results for model但是當我改變路線Route::get('profile/{id}/edit', '[email protected]');它的工作原理,但該網址現在應該是http://localhost:8000/profile/6/edit,其中6是sorxob的ID。我想要使​​用用戶名,但我不知道問題在哪裏。

回答

1

這是因爲你已經有一個User對象。

您已將user綁定到User對象。因此,您收到的參數是User對象,而不是id。所以不需要再次查詢。

只需使用

public function edit($user) 
{ 
    return view('consulta.edit', compact('user')); 
} 
+0

謝謝。快速和ez – FewFlyBy

+0

沒問題,如果它解決了您的問題,請將其標記爲已回答。 :) – chanafdo