2017-10-12 10 views
2

私はlaravel 5.2で問題があります。新しいユーザーをフォームに登録するすべてのレコードがテーブルユーザーのデータベースに挿入されましたが、私のremember_tokenフィールドは常にNULLです ログアウトをクリックするとremember_tokenが挿入されます。しかし、私は、このフォーム から複数のユーザーを作成したい、私は一人で、管理者が作成する権限を持っているしたいので、ユーザは毎回のために私がログアウトせずにユーザーアカウントを作成するときに私が欲しい を占めるlaravel 5.2マルチユーザーを作成

コントローラ

class AuthController extends Controller 
{ 


    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'logout']); 
    } 

    protected function create(array $data) 
    { 

     $user =User::create([ 
      'username' => $data['username'], 
    'droit'=> $data['droit'], 
      'idUtilisateur'=> $data['idUtilisateur'], 
      'password' => bcrypt($data['password']), 
     ]); 

     return $user; 
    } 


} 

ビュー

<form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}"> 
         {{ csrf_field() }} 

         <div class="form-group{{ $errors->has('username') ? ' has-error' : '' }}"> 
          <label for="username" class="col-md-4 control-label">Nom d'utilisateur</label> 

          <div class="col-md-6"> 
           <input id="username" type="text" class="form-control" name="username" value="{{ old('username') }}"> 

           @if ($errors->has('username')) 
            <span class="help-block"> 
             <strong>{{ $errors->first('username') }}</strong> 
            </span> 
           @endif 
          </div> 
         </div> 

         <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> 
          <label for="password" class="col-md-4 control-label">Mot de Passe </label> 

          <div 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 
          </div> 
         </div> 
... 
         <div class="form-group"> 
          <div class="col-md-6 col-md-offset-4"> 
           <button type="submit" class="btn btn-primary"> 
            <i class="fa fa-btn fa-user"></i> Ajouter 
           </button> 
          </div> 
         </div> 
        </form> 

モデル

class CreateUsersTable extends Migration 
{ 

    public function up() 
    { 
     Schema::create('users', function (Blueprint $table) { 
      $table->increments('id'); 

      $table->string('username')->unique(); 
      $table->string('password'); 
      $table->integer('droit'); 
      $table->integer('idUtilisateur'); 
      $table->integer('EtatCompte'); 
      $table->rememberToken(); 
      $table->timestamps(); 
     }); 
    } 

あなたが望むすべてはそのため[email protected]方法を使用していない、ユーザーアカウントを作成するには、管理者が許可している場合は、あなたに

+0

は、なぜあなたはrememberTokenが必要なのでしょうか? – madalinivascu

答えて

0

に感謝します。

ので、管理ダッシュボードでフォームを作成し、作成したユーザーとしてログインせずに手動でユーザーを作成します。

public function store(Request $request) 
{ 
    User::create([ 
     'email' => $request->email, 
     'username' => $request->username, 
     'password' => bcrypt($request->password), 
    ]); 

    return redirect()->back()->with('message', 'User was created'); 
} 
+0

ありがとうございますAlexey Mezenin氏 優れたソリューション 今度は別のルートを作成しました Route :: post( 'register1'、 'user1Controller @ store'); 小さな質問php artisan makeを作成するときにルート登録をデフォルトで無効にするにはどうすればいいですか?auth ルートファイルには Route :: auth(); –

+0

あなた自身の '/ register'ダミールートを置くことによってそれを無効にしようとすることもできますし、' Route :: auth() 'を削除して必要なルートだけを手動で再作成することもできます。 –