新しいlaravelプロジェクトをインストールしました。その後、新しいモデルを作成しましたが、create()関数を使用すると、新しい行が重複していることがわかります。
これは私のコードです:
protected $fillable = ['id', 'setting_name', 'expected_type', 'default_val', 'modified_val'];
// protected $guarded = ['created_at', 'updated_at'];
function test() {
$input = ['setting_name' => 'Test',
'expected_type' => '123',
'default_val'=>'123',
'modified_val'=>'123'];
// dd($input);
//both next two lines do not working
Setting::create($input);
return Setting::firstOrNew($input);
}
私はエラーをチェックする:
"Integrity constraint violation: 1062 Duplicate entry '' for key 'setting_name' (SQL: insert into settings (updated_at, created_at) values (1474452834, 1474452834))"
私が間違っていましたか?
あなたが使用したいメソッドが 'firstOrNew()'ではなく 'findOrNew'であると思います - 詳細はこちらhttp://stackoverflow.com/a/23325732/1739852 – James
申し訳ありませんが、質問は、findOrNewまたはfirstOrNewは今私のための問題ではありません。私はデータベースに挿入したい。 – Einsamer
firstOrNew()の代わりにfirstOrCreate()を試した場合は?..?毎週 –