2016-04-12 23 views
3

私はphp artisan make:authを私のプロジェクトで使用しました。その上に構築しています。問題は、 "名前"フィールドだけで "firstName"と "lastName"フィールドではないということです。これらのオプションはどこで設定しますか?私は姓と名字から入力を受け取り、それらの間のスペースで連結して、それらをdbとして名前として保存したいと考えています。それを行う場所はどこですか?ユーザーの住所または電話番号を追加する場合のようにオプションを設定するにはどうすればよいですか?私はたくさんのことを研究しましたが、私は本当にそれらの特性すべてと混同しています。だから、誰かが私にユーザー認証を進める方法について助言を与えることができますか?利用代わりFIRST_NAMEの名前とLAST_NAMEオープンdatabase/migration/create_user_table 書き込みについてはLaravel - 別のフィールドから名と姓を取得し、dbの名前列に格納する方法

答えて

3

$table->string('name');

代わりの

$table->string('first_name'); 
$table->string('last_name'); 

そのオープンapp/Http/Controller/Auth/AuthController.phpした後、次にその

protected function create(array $data) 
    { 
     return User::create([ 
      'name' => $data['first_name'].' '.$data['last_name'], 
      'username' => $data['username'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
     ]); 
    } 
のようにコードを置きます

あなたは、より多くのフィールドを使用してデータベース/移行上にある移行ファイルでそれらのフィールドを書き込み、resources/views/auth/register.blade.phpそのファイルのHTMLフォームでこれらのフィールドを使用し、その変化AuthController.phpファイルの後

+0

$ table-> string( 'name');を残しておけば、 'name' => $ data ['first_name'] 'を追加してください。 '$ data [' last_name ']を作成メソッドに追加すると、これはfirst_nameとlast_nameから取得したちょうど名前(私のdb)の新しいエントリを作成します。 – Codearts

+0

あなたは正しいです –

1

the documentationによると、あなたが変更することができますしたい場合createメソッドのAuthControllerクラスを使用して、新しいユーザーの作成に使用するフィールドを設定します。

しかし、両方のフィールドを必要とすることを再考するようお願いしたいと思います。本当に必要ですか?あなたの設計仕様はそれを必要としますか? W3Cは、ユーザーエクスペリエンスを向上させるために、単一の「名前」フィールドを推奨しています。私はいくつかのアプリが人事や会計目的のために両方を必要とすることを理解していますが、これは検討する価値があります。一般的な消費者タイプのユーザーは、より簡単なフォームを望んでいるため、できるだけユーザーに質問しないでください。

関連する問題