国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php - laravel 5.2:給自帶的注冊表單添加一個角色項,怎么保存?請看示例
阿神
阿神 2017-04-10 17:39:19
0
1
391

使用的laravel5.2,用Zizaco/entrust進行角色和權限管理,現(xiàn)在,在laravel自帶注冊表單添加了一個“角色”項,用戶的角色在注冊時由用戶自己確定了,怎么保存這個角色呢?示例如下:

注冊表單: 在laravel自帶表單基礎上增加一個Role項。

<form id="register" class="form-horizontal" role="form" method="POST"  action="{{ url('/register') }}">
    {!! csrf_field() !!}
    <fieldset class="form-group">
        <label class="col-md-4 form-control-label">Role</label>
        <p class="col-md-6">
            <label class="c-input c-radio">
                <input id="role1" name="role" type="radio" value="1">
                <span class="c-indicator"></span>
                red team
            </label>
            <label class="c-input c-radio">
                <input id="role2" name="role" type="radio" value="2">
                <span class="c-indicator"></span>
                blue team
            </label>
        </p>
    </fieldset>

    <fieldset class="form-group{{ $errors->has('name') ? ' has-danger' : '' }}">
        <label class="col-md-4 form-control-label">username</label>
        <p class="col-md-6">
            <input type="text" class="form-control" id="name" name="name" value="{{ old('name') }}">
            @if ($errors->has('name'))
            <span class="help-block"><strong>{{ $errors->first('name') }}</strong></span>
            @endif
        </p>
    </fieldset>


    <fieldset class="form-group{{ $errors->has('email') ? ' has-danger' : '' }}">
        <label class="col-md-4 form-control-label">email</label>
        <p class="col-md-6">
            <input type="email" class="form-control" name="email" value="{{ old('email') }}">
            @if ($errors->has('email'))
            <span class="help-block"><strong>{{ $errors->first('email') }}</strong></span>
            @endif
        </p>
    </fieldset>

    <fieldset class="form-group{{ $errors->has('password') ? ' has-danger' : '' }}">
        <label class="col-md-4 form-control-label">password</label>
        <p class="col-md-6">
            <input id="password" type="password" class="form-control" name="password">
            @if ($errors->has('password'))
            <span class="help-block"><strong>{{ $errors->first('password') }}</strong></span>
            @endif
        </p>
    </fieldset>
    <fieldset class="form-group{{ $errors->has('password_confirmation') ? ' has-danger' : '' }}">
        <label class="col-md-4 form-control-label">password confirmation</label>
        <p class="col-md-6">
            <input type="password" class="form-control" name="password_confirmation">
            @if ($errors->has('password_confirmation'))
            <span class="help-block"><strong>{{ $errors->first('password_confirmation') }}</strong></span>
            @endif
        </p>
    </fieldset>
    <fieldset class="form-group">
        <p class="col-md-6 col-md-offset-4">
            <button type="submit" class="btn btn-primary">submit</button>
        </p>
    </fieldset>
</form>

AuthController 自帶的。

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

單獨使用Zizaco/entrust時,我可以寫一個RolesController,里面寫一個attachRole()方法,可以手動分配角色。像這樣:

public function attachRole()
{
    $user = User::where('name', '=', 'foo')->first();
    $user->roles()->attach(2);
    return "attachRole done";
}

現(xiàn)在,我想接收注冊表單中傳過來的role值,然后保存到Zizaco/entrust生成的role_user表中,而不是用上面的attachRole()方法手動賦予角色。是修改AuthController的create 方法么,還是其他做法?怎么做呢?

阿神
阿神

閉關修行中......

reply all(1)
巴扎黑

把這兩個方法合成一個不就可以了嗎

protected function create(array $data)
{
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
    
    $user->roles()->attach($data['role']);
    
    return $user;
}
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template