我在Laravel 6中使用脚手架功能创建了登录和注册功能,并且我得到了这个LoginController:
<?php
...
...
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = RouteServiceProvider::HOME;
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
我想将数据DB::table('terms_condition')->get()
传递到登录视图,该怎么办?
将此方法放入LoginController
public function showLoginForm()
{
$terms_condition = DB::table('terms_condition')->get();
return view('auth.login',compact('terms_condition'));
}
showLoginForm()
来自于AuthenticatesUsers
使用的LoginController
特性。您必须将此方法放入LoginController
。
在登录控制器内部重写函数showLoginform
public function showLoginForm()
{
` $data = DB::table('terms_condition')->get();
return view('frontend.auth.login',compact('data'));
}
或者从您的LoginController中,您可以看到AuthenticateUsers转到“验证用户”文件并编辑showLoginForm,就像这样
public function showLoginForm()
{
` $data = DB::table('terms_condition')->get();
return view('frontend.auth.login',compact('data'));
}
并且不要忘记在顶部使用数据库
您可以在LoginController中覆盖内置的showLoginForm()
方法
LoginController.php
use Illuminate\Support\Facades\DB;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected $redirectTo = RouteServiceProvider::HOME;
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function showLoginForm()
{
return view('admin.login',['terms'=>DB::table('terms_condition')->get()]); //pass your data here as a second argument
}
}
然后您可以在刀片视图中以$terms
的身份访问此>
一种不同的解决方法:使用View Composer。这将在呈现视图时运行,因此您可以通过这种方式将数据传递给它: