当前位置: 首页 > 知识库问答 >
问题:

Laravel 4资源控制器显示($id)方法问题

鲁建茗
2023-03-14

对于控制器中的show($id)、edit($id)方法,它必须是数据库表中的“id”列吗
我想用数据库表中“post_id”列的值替换$id,但它引发错误:ModelNotFoundException
如何修复它?

示例代码:

数据库表:

id(int)、post_id(varchar32)、post_标题(varchar32)、post_内容(text)

路线:

路由::资源('posts','PostsController');

PostsController:

公共函数show($id){返回View::make('posts.show');}

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

共有2个答案

司马彦
2023-03-14

您也可以使用find

public function show($id) { 
$post = Post::find($id);
return View::make('posts.show', compact('post')); 
}
充浩波
2023-03-14

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

像这样://PostsController

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

return View::make('posts.show', compact('post')); 
}
 类似资料:
  • Laravel 4中的RESTful和资源控制器受到限制,即RESTful方法名称必须以get、put、post、patch、delete结尾,而资源控制器必须以index、create、store、show edit、update和destroy结尾。我的问题是,Laravel 5是否也施加了同样的限制?

  • 我是拉威尔的新手,目前在资源控制器CRUD操作部门工作。我已经完成了显示功能,我的前端将从用户那里获取id,我需要使用id显示详细信息。为此,我使用了资源控制器显示功能。问题是,如何返回id?我尝试了以下格式 http://localhost/sbadmin/public/invoice/invoice/show?12http://localhost/sbadmin/public/invoice/

  • 资源控制器 资源控制器可以让你轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如: // 生成index模块的Blog资源控制器 php think make:controller index/Blog 或者使用完整的命名空间生成 php think make:controller app\index\controller\Blog 然后你只需要为资源控制器注册一个资源路

  • 这是一个常用的资源控制器模板,使用时可以复制直接使用,复制后把相应命名空间,类名改掉就可以用了; <?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +-----------------------

  • 问题内容: 为什么无法从另一个内部访问其他控制器方法呢? 像这样。 已编译 如果您不能这样做,那为什么不呢?我还应该怎么做… 问题答案: 最近几个小时遇到相同的问题。我使用了api / services文件夹。它可能不完全是您所需要的,但是它是一个选择。

  • 动画控制器资源 准备好动画剪辑后,你还需要使用 动画控制 Animator Controller 把它们整合在一起。动画控制器资源由 Unity 创建,允许为一个角色或对象维护一组动画。 项目视图中的动画控制器资源。 可以从 Assets 菜单或项目视图的 Create 菜单创建动画控制器。 最常见的情况是,拥有多个动画剪辑,并在特定游戏条件发生时,在它们之间切换。例如,每当按下空格键时,可以从行