鍍金池/ 問答/PHP  C/ laravel 默認注冊頁面我想加個選擇地區(qū)的選項,怎么把地區(qū)列表的變量傳到bl

laravel 默認注冊頁面我想加個選擇地區(qū)的選項,怎么把地區(qū)列表的變量傳到blade模板里面去?

1.項在register.blade模板里面加一個地區(qū)列表選項,讓用戶注冊時選在所在地區(qū)。
2.請問在哪個文件里面調(diào)用的register.blade模板,我沒找到。
3.開始用laravel沒多久,在百度里面搜索了半天沒找到想要的答案。

<div class="form-group row">
                            <label for="areaid" class="col-sm-3 col-form-label text-md-right">鄉(xiāng)鎮(zhèn)/街道</label>
                            <div class="col-md-3">
                                <select class="form-control" id='areaid' name="areaid">
                                    <option value="">請選擇</option>
                                    @foreach ($data['areas'] as $k=>$v)
                                    <option value="{{ $v->id}}">{{ $v->name }}</option>
                                    @endforeach
                                 </select>
                             </div>
                        </div>

錯誤代碼就是:"Undefined variable: data (View: E:xampphtdocsdibaoresourcesviewsauthregister.blade.php)"

回答
編輯回答
還吻

看樣子你用 laravle默認的用戶認證,在執(zhí)行 php artisan make:auth,它會生成布局、注冊和登錄視圖以及所有的認證接口的路由。register.blade.php 在 resources.views.auth 里。

或者你可以執(zhí)行 php artisan route:list 找到 | GET|HEAD | register | register| App\Http\Controllers\Auth\RegisterController@showRegistrationForm ,順著控制器找。注意 RegisterController 使用了 trait。不了解 trait你也找不到 showRegistrationForm。

2018年2月28日 04:51
編輯回答
久礙你

這個很簡單,直接修改控制器RegisterController加入下面的函數(shù):

public function showRegistrationForm() {
    $data = [1, 2, 3, 4];
    return view ('auth.register')->with(['data' => $data]);
}

然后在你的register.blade里面直接調(diào)用$data就可以了。然后要記得修改同文件內(nèi)部的validatorcreate函數(shù)檢測并接受新的選項。比如:

 protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:6|confirmed',
            'areaid' => 'required|max:255'
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'areaid' =>$data['areaid'],
        ]);
    }
2017年9月8日 07:16