【发布时间】:2019-08-01 12:22:58
【问题描述】:
我正在尝试通过 URL:domian.com/author/page/{username} 显示作者页面。
路线如下:
Route::get('author/page/{username}', 'FrontendAuthorController@index');
这里是控制器(FrontendAuthorController@index):
public function index($username)
{
$user = BasicInfo::where('username', $username)->first();
//'username' is a field of BasicInfo Model.
//BasicInfo belongs to User model.
//So, we can get user id by $user->user_id according to eloquent rule.
$author = User::findOrFail($user->user_id);
return view('frontend.author', compact('author'));
}
但我看到这条消息
抱歉,找不到您要查找的页面。
如果我尝试使用这条路线domian.com/author/page/{username}/{id} 和这个参数function index($username, $id) 来获取视图,那么我就会得到视图!我不想在 route/url 中显示 id。我该如何解决这个问题?
【问题讨论】:
-
好吧,您正在使用 findOrFail 查询 User 模型,所以看起来它确实失败了。如果您发送
dd($user->user_id),那么您可能会获得更多信息。 -
可以分享一下表结构吗
-
@LinusJuhlin 我试图通过 dd($user->user_id) 获取价值,但每当输入 url 时,它都会直接显示找不到页面的消息。也许他们没有得到路由,所以控制器没有执行。
-
@Manojkiran.A BasicInfo 模型包含-> 'user_id'、'user_image'、'user_cover_image'、'first_name'、'last_name'、'display_name'、'username'、'dob'、'传记',用户模型包含-->'电子邮件','密码',
-
你检查$username和$user的值了吗?
标签: laravel laravel-5 eloquent