我有管理面板,它有各种功能。此外,网站前端还有两个登录表单:
默认登录表单为http://example.com/login
,上面有按钮,如果用户想要使用第二张登录表单,可以点击该按钮。
这些是他们的路线
Route::get ('/users/login', ['uses' => 'UsersController@login', 'before' => 'guest']);
Route::get ('/users/no_login', ['uses' => 'UsersController@no_login', 'before' => 'guest']);
在我的管理面板中有切换器的选项有哪些可以切换登录页面的默认页面,例如在login
和login2
之间切换。
如果我把它们放在数据库中,我需要在路线中改变以获得当前的活动形式,还是有另一种方式?
修改
public function login() {
$login = Preferences::all();
if ($login->preferences_login == 0){
return View::make('users.login');
}
return View::make('users.no_login');
}
错误是
未定义属性:Illuminate \ Database \ Eloquent \ Collection :: $ preferences_login
答案 0 :(得分:1)
你可以通过各种方式解决这个问题。
就像你在管理面板中所说的那样,设置一些链接来切换DB中的值,你需要在routes / web.php中只有一个Route
Route::get ('/users/login', ['uses' => 'UsersController@login', 'before' => 'guest']);
然后在那个控制器函数login()中你可以检查
if ($db_value == 1){
return view('login');
} else {
return view('no_login');
}
并返回相应的视图
或者您可以在.env文件中创建一些变量
APP_FLAVOUR=your_flavour
并在控制器中检查
if (env('APP_FLAVOUR') == your_flavour){
return view('login');
} else {
return view('no_login');
}
但如果你不经常改变它,那么这个更像是修正值。