如何将变量传递给寄存器视图?

时间:2017-02-20 03:43:33

标签: laravel laravel-5.3

我使用了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);
}

但这种方法在哪里?

4 个答案:

答案 0 :(得分:11)

你可以通过两种方式实现这一目标。

重写RegistersUsers

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()