2016-04-17 20 views
1

を動作していないユーザーの列に挿入値は、私は簡単なユーザ登録アプリケーション作成:もちろんLaravel 5.2 -

$confirmation_key = str_random(100); 
$data = [ 
    'email' => $post['email'], 
    'password' => Crypt::encrypt($post['password']), 
    'confirmation_key' => $confirmation_key 
]; 
User::create($data); 

を、私はそれのための移行を追加しました:

public function up() 
    { 
     Schema::create('users', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->string('name'); 
      $table->string('email')->unique(); 
      $table->string('password'); 
      $table->boolean('confirmed')->default(0); 
      $table->string('confirmation_key')->nullable(); 
      $table->rememberToken(); 
      $table->timestamps(); 
     }); 
    } 

ユーザーがに正常に追加確認キーはまだ変更されずにnullです。 その他の質問:ユーザーテーブルに別の列を追加する場合はどうすればよいですか?私は何をする必要がありますか?

答えて

2

あなたはそうのようなUserモデルのconfirmation_key$fillableにプロパティを追加したことを確認する必要があります:あなたは別の列を追加したい場合は、新しい移行を作成し、それを実行する必要が

protected $fillable = ['email','password','confirmation_key']; 

、あなたがしたい場合はこの列を塗りつぶし可能にするには、$fillableプロパティのUserモデルに追加する必要があります。

EDIT

あなたは、任意の列を作りたい場合は、テーブルにそれを追加することができますし、それを行うには、単にことはできませんcreatefillの方法で使用して充填可能ではない:中

User::create($data); 

をそのような場合は、次のようなものが必要になります。

// here you fill fillable data 
$user = new User($data); 
// this way you can fill properties that are not fillable 
$user->some_not_fillable_property = 'some value'; 
// now you save it to database 
$user->save(); 
+0

列が塗りつぶされない場合はどうなりますか?充満していない列で何ができますか? –

+0

@ItzhakAvraham私の編集を見てください –