【发布时间】:2017-12-28 20:58:41
【问题描述】:
此代码在 laravel 5.2 中有效,但在 laravel 5.3 中无效。
我在RouteServiceProvider:
\Route::model('users', \App\User::class, function ($value) {
return User::where('name', $value)
->first();
});
在我的刀片中,我要求采取行动:
'<a href="{{ action('UserController@show',[Auth::user()->name]) }}">{{Auth::user()name}}</a>'
在我的UserController
public function show($user)
{
return view('users.user.show', compact('user'));
}
现在$user 只是Auth::user()->name例如'qwerty'。但不是 User 类的对象如何更早。可能是什么问题?
【问题讨论】:
-
是的,当然 Auth::user()->name 只会获取名称,如果您想要对象,它将是 Auth::user()
-
您没有在控制器中键入提示模型,它怎么知道您想要模型而不是“qwerty”这个词?而且,当您进行路由绑定时,请始终尝试使用通常不会与其他事物冲突的关键字......您的“用户”关键字可能是一个糟糕的选择
-
但它在 laravel 5.2 中工作。升级到 5.3 后出现问题
-
路线是什么?
标签: laravel laravel-5 laravel-5.2 laravel-5.3 model-binding