character
フィールドがフォームで満たされる「フィールドは、デフォルト値を持っていない」(DD()を証明している)が、このエラーは、最大表示されます。挿入関連モデル:
一般エラー:
1364 Field 'character' doesn't have a default value (SQL: insert into `characters` (`name`, `user_id`, `updated_at`, `created_at`)
保存するか、作成しますか?
ユーザーに関連する別のモデルを保存しようとしています。フォームデータと内部データがあります。だから、私はちょうど作成方法を使うことができないのですよね?誰もこれらの値のいくつかを操作することはできません。
public function store()
{
// validation
$character = new Character([
'user_id' => auth()->id(),
'character' => request('character'),
'name' => request('name'),
'level' => 1,
'experience' => 0,
'health' => 500,
'primary' => 'test',
'secondary' => 'test',
]);
$user = auth()->user();
$user->characters()->save($character);
// redirect
}
私の二つの主要な質問:
- は、なぜこれが
character
を指すSQLエラーを投げるでしょうか? - これは良い保存方法ですか、それともすべてをfillableにしてcreateを使用する必要がありますか?
うわー、それは私には新しいです。私はいつも塗りつぶしに悩まされる方が安全だと思っていますが、それは必要です。くそー。私のメンター!いいライドをしてください。 – Bensen