是否必須是'id'數據庫表中的列可正常工作 show($ id),edit($ id)method in controller?
我想用「POST_ID」上的數據庫表列中的值來代替的$ id,但它拋出錯誤:ModelNotFoundException
我怎樣才能解決呢?
示例代碼:
數據庫表:
id(int), post_id(varchar32), post_title(varchar32), post_content(text)
路線:
Route::resource('posts', 'PostsController');
PostsController:
public function show($id) { return View::make('posts.show'); }
當我訪問http://localhost/posts/1
它應該返回表中有id 1的帖子視圖。
如果我根據表中的post_id值返回視圖該怎麼辦?
是否必須替換show()或?中的參數?
可以請你添加相應的代碼? – Chris
確定,如上所述添加。 – JackpotK
你並沒有真的使用$ id,你只是在show方法中渲染視圖。是的,你可以傳遞任何你需要的東西,你的鏈接只需要符合資源:route.show必須是「http:// host/route_name/id-or-anything-else」。但是,如果您得到ModelNotFoundException,是因爲FindOrFail或FirstOrFail正在您的代碼中的其他地方使用。我沒有看到他們在Laravel源代碼中使用,他們必須是你的。 –