との非常に奇妙な動作save()
。メソッドは使いませんcreate
。これは新しいレコードの作成コードです:
public function store(Request $request)
{
$this->validate($request,[
'title' => 'required',
'weight' => 'required|integer|max:99,min:-99',
'color' => 'required|regex:/^#[0-9A-F]{6}$/',
'suspension' => 'required|integer|in:0,1'
]);
$status = new Status();
$status->weight = $request->weight;
$status->title = request('title');
// dd($request->title);
$status->color = $request->color;
$status->suspension = $request->suspension;
$status->description = $request->description;
$status->save();
$request->session()->flash('status','success');
$request->session()->flash('msg',__('Status has benn created Successfully'));
return redirect('/status');
}
ただし、title
フィールドに関する次のメッセージが表示されます。
SQLSTATE[HY000]: 一般エラー: 1364 フィールド 'タイトル' に既定値がありません (SQL:
statuses
(weight
、、) 値 (-9、#FFD700、0)color
に 挿入)suspension
だからそれは問題ではありません$fillable
!
翻訳パッケージLaravel Translatableがあります。ちょうどStatus
モデルから使うのをやめたときは、結構節約!
ただし、同じパッケージを同じ方法で使用する別のモデルがありますが、新しいレコードを正常に保存できます!
この問題の根本原因を突き止めることができませんでした。
アップデート
これまでの唯一の有効な解決策は'strict' => false,
、MySQL 構成で設定することです。しかし、私はまだ何が起こっているのか理解できません?!