我使用了php artisan make:auth
它生成了寄存器视图和/ register路由。但是我需要将一个变量传递给这个寄存器视图:
<label>Region:</label>
<select name="region" id="region" class="form-control" >
<option>--Select a Region--</option>
@foreach($region as $reg)
<option value="{{$reg->region_id}}">{{$reg->region_name}}</option>
@endforeach
</select><br>
类似的东西:
public function register()
{
$region=Region::all();
return view('auth.register')->with('region',$region);
}
但这种方法在哪里?
答案 0 :(得分:11)
你可以通过两种方式实现这一目标。
Laravel的默认身份验证使用RegisterController上的RegistersUsers trait来呈现视图。 你可以做的只是覆盖Illuminate \ Foundation \ Auth \ RegistersUsers上的功能 在RegisterController上,如下所示
Did you forget to include some imports in your config file?
现在上面的代码将覆盖该特征并使用来自控制器的showRegistrationForm。
执行/**
* Show the application registration form.
*
* @return \Illuminate\Http\Response
*/
public function showRegistrationForm()
{
$region=Region::all();
return view('auth.register', compact('region'));
}
时,会将php artisan make:auth
添加到您的web.php文件中。删除它并添加以下内容,
Auth::routes()
现在在注册路由上,将RegisterController @ showRegistrationForm修改为RegisterController @ register。
但不要只使用注册。而是像getRegisterForm一样使用。因为寄存器功能处理后置寄存逻辑。
答案 1 :(得分:2)
在Laravel Auth:
中,它使用showRegistrationForm()
方法创建注册页面。所以我们需要覆盖那个方法。
只需覆盖showRegistrationForm()
方法
public function showRegistrationForm() {
$data = [1, 2, 3, 4];
return view ('auth.register')->withData($data);
}
使用$data
...
答案 2 :(得分:0)
应在RegisterController.php
文件夹的app/http/controllers/auth/
中手动创建此功能。在此控制器中,您可以创建任何功能,但要注意特征RegistersUsers.php
使用的重复功能。
您的功能也可以这样写:
public function register()
{
$region = Region::all();
return view('auth.register', compact('region'));
// This will send the $region variable to the view
}
希望它有所帮助!
答案 3 :(得分:0)
在RegisterController.php文件中编写showLoginForm()函数,
函数名称为.column1 {
width: 48%;
width: -webkit-calc(50% - 20px);
width: -moz-calc(50% - 20px);
width: calc(50% - 20px);
}
,它将覆盖laravel默认的showLoginForm()函数。
showLoginForm()