我有一个包含通配符前缀的路由组。前缀适用于国家/地区,例如website.com/Singapore/home或website.com/America/home。
此路线组中的某些路线中有一条slu ..
Route::group(['prefix' => '{country}'], function () {
Route::get('home', 'HomeController@all');
Route::get('login', 'AuthController@login');
Route::get('user/{slug}', 'UsersController@show'); });
前两条路线正常工作。但是,包含对应于用户标题的段塞的第三条路线是错误的来源。处理此路由的控制器如下所示。
public function show($slug)
{
$user = User::where('slug', '=', $slug)->first();
return view('user.show', compact('user'));
}
slu is混淆了laravel,我得到了这个错误。
"试图获得非对象"的属性,并指向'显示'上面的功能,特别是'用户'变量。
我认为laravel试图找到通配符前缀的slug(不存在)而不是用户的slug。我有什么想法可以解决这个问题吗?