次のコードを使用して新しいユーザーを作成しようとしています:
$user = new User();
$arr = array(
"username" => Input::get('username'),
"pass" => Input::get('pass')
)
$user->save($arr);
レコードをテーブルに追加しますが、すべてのフィールドが空です - 何が問題なのですか? ありがとう
次のコードを使用して新しいユーザーを作成しようとしています:
$user = new User();
$arr = array(
"username" => Input::get('username'),
"pass" => Input::get('pass')
)
$user->save($arr);
レコードをテーブルに追加しますが、すべてのフィールドが空です - 何が問題なのですか? ありがとう
使用する場合:
$user = new User([
"username" => Input::get('username'),
"pass" => Input::get('pass')
]);
$user->save();
また
User::create([
"username" => Input::get('username'),
"pass" => Input::get('pass')
]);
username
およびpass
フィールドは一括割り当て可能でなければなりません。http://laravel.com/docs/5.1/eloquent#mass-assignment
それ以外の場合は、次のことを行う必要があります。
$user = new User;
$user->username = Input::get('username');
$user->pass = bcrypt(Input::get('pass'));
$user->save();
それは保存機能がどのように機能するかではありません! Eloquentの Laravel ドキュメントをもう一度見てください。
User::create() 静的メソッド、クラス コンストラクター、および update メソッドはすべて配列を入力として受け取りますが、save メソッドは受け取りません。
あなたがすることができます:
$arr = array(
"username" => Input::get('username'),
"pass" => Input::get('pass')
)
$user = new User($arr);
$user->save();
ユーザー名とパスの列が一括割り当て可能であることを確認します (モデルの保護された $fillable 配列に存在します)。
ユーザーのパスワードを平文で保存するつもりはありませんよね?