#fromから送ったデータがうまくDBに入らない原因
bladeファイル
<form action="{{ route('posts.add') }}" method="POST">
<table>
@csrf
<tr>
<th>タイトル</th>
<td>
<input type="text" name="title">
</td>
</tr>
<tr>
<th>人数</th>
<td>
//数字だけの入力にしたかったのでtype="number"を指定
<input type="number" name="member">
</td>
</tr>
<table>
</form>
コントローラー
public function add(Request $request){
$param =[
'title' => $request->title,
'member' => $request->member,
];
DB::table('posts')->insert($param);
return redirect('/posts/index');
}
データを送ろうとしたら下記のエラーが出た
SQLSTATE [23502]: Non-null violation
翻訳すると「データがnullだから違反してるよ」的な感じだった。
多分....。
なぜNULLで送られる?
原因はDBにあった。
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->integer('member');
});
}
memberカラムをintegerとしていたためエラーが起きた。
なのでbladeファイルのinputのtypeをtext変更
//numberからtextに変更
<input type="text" name="member">
するとうまくデータが送れた。
原因はまだわからないので明日調べる。
もっとDBを勉強するべきだな...
今日はここまで!