0

它是否必须是数据库表中的“id”列,它适用于控制器中的 show($id)、edit($id) 方法?
我想将$id替换为数据库表中“ post_id ”列的值,但它会引发错误:ModelNotFoundException
我该如何解决?

示例代码:

数据库表:

id(int)、post_id(varchar32)、post_title(varchar32)、post_content(文本)

路线:

Route::resource('posts', 'PostsController');

帖子控制器:

public function show($id) { return View::make('posts.show'); }

当我访问http://localhost/posts/1 它时,它应该返回表中id为 1 的帖子视图。
如果我根据表中的post_id值返回视图怎么办?
它是否必须替换 show() 或中的参数?

4

2 回答 2

2

在您的 PostsController 中,您需要访问 Post 模型以从数据库中获取数据。

像这样://PostsController

public function show($id) { 
$post = Post::where('post_id', $id)->first();

return View::make('posts.show', compact('post')); 
}
于 2013-05-21T08:16:28.067 回答
0

你也可以使用查找

public function show($id) { 
$post = Post::find($id);
return View::make('posts.show', compact('post')); 
}
于 2016-04-26T05:45:17.200 回答