質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

2回答

954閲覧

laravel投稿クリック時にエラー

REIKY

総合スコア1

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2022/10/11 06:11

編集2022/10/11 06:37

前提

ここに質問の内容を詳しく書いてください。
投稿をクリックすると、エラーが出る。

実現したいこと

フォームにタイトル・コメントを入力すると投稿ができ、データベースに追加される

発生している問題・エラーメッセージ

SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value insert into `books` (`title`, `comments`, `updated_at`, `created_at`) values (a, a, 2022-10-11 06:08:42, 2022-10-11 06:08:42)

該当のソースコード

book/create.blade.php

@extends('front.layouts.master') @section('title','トップページ | Laravel') @include('front.partials.header') @section('content') <h1>著者登録ページです。</h1> @endsection @section('list') <h2 class="author_register">著者登録</h2> {!! Form::open(['route'=>'book.store']) !!} <div class="author_form"> <span class="author_title">著書名</span>{!! Form::text('title',null, ['placeholder' => 'タイトルを入力してください'],) !!} </div> <div class="author_form"> <span class="author_name">著者名</span>{!! Form::select('author_name', $books->pluck('name')) !!} </div> <div class="author_form"> <span class="author_comments">コメント</span>{!! Form::textarea('comments',null, ['placeholder' => '本文を入力してください', 'cols' => '20', 'rows' =>'5']) !!} </div> <div class="author_submit"> {!! Form::submit('投稿') !!} <a href="{{ route('home.books') }}">{!! Form::button('キャンセル') !!}</a> </div> {!! Form::close() !!} @endsection @include('front.partials.footer')

Bookcontroller

public function store(Request $request) { $books = new Book; $books->title=$request->input('title'); $books->comments=$request->input('comments'); $books->save(); return redirect('front.book.index'); }

試したこと

valueがないエラーだったのでvalueを入れても、結果は変わりませんでした。

補足情報(FW/ツールのバージョンなど)

laravel8
使用:laravelcollective/html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/10/11 08:19

m.ts10806が「BooksテーブルのnameカラムがNOT NULLであること」の証明をできるように、質問を修正せよ。
guest

回答2

0

私の回答はm.ts10806の回答を参考にしている。

Field 'name' doesn't have a default value
意訳:[name]フィールドにデフォルト値がありません。

BooksテーブルのnameカラムがNOT NULLである。
証明: Bookcontrollerに文字列"name"が含まれていない。

質問者が提示するformにはnameに該当する情報が含まれていないとは限らない。

form送信はformに所属する入力コントロールでname属性が設定されているものを属性値をキーとしてリクエストに含む。よって、name属性が設定されていないものを属性値をキーとしてコントローラで受け取る必要があります。

m.ts10806の提示する回答には計算量解析が含まれていないことに注意せよ。

投稿2022/10/11 08:33

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/10/11 08:42

今すぐ修正依頼を取り消せ。
m.ts10806

2022/10/11 08:42

ただのコピペ回答なので私の回答から何も真新しい情報はありません。 むしろ私の回答以上に不足していて本件について理解しているとは全く思えない。
m.ts10806

2022/10/11 08:44 編集

>今すぐ修正依頼を取り消せ。 なんでけんか腰なの? 怖いです。 今すぐ、その傲慢で人を見下したような態度をやめてください。 というか、修正依頼されたくらいでそこまで怒るのもおかしいです。 はい終了。 質問者が逆質問してきてもちゃんと答えられるならいいんですけど、 コピペ回答して満足してるだけなので、かなり迷惑。
退会済みユーザー

退会済みユーザー

2022/10/11 08:46 編集

あなたにコピペで言われても説得力ZEROである。 私はあなたの回答を改善した。 質問者が私の回答に質問したら、直ちに回答できる。
m.ts10806

2022/10/11 08:49

でも質問全く読んでないですよね。 LaravelはもちろんPHPすらもまともに使ったことないですよね。 単に末尾をかえただけのコピペ回答のどこが改善ですか?
退会済みユーザー

退会済みユーザー

2022/10/11 08:51 編集

末尾以外にも変更した箇所がある。 私はLaravelを利用したことがある。 私はPHPを利用したことがある。 私はWebを利用したことがある。 質問: あなたは私の回答を修正依頼した?
m.ts10806

2022/10/11 09:03 編集

口だけは結構なので結果や実績で見せてください。今のところなんの評価にも値しないコピペ回答しかないので。 あなたがやってるのは子供が親に叱られたときに言葉尻だけを逆に返すのと同じ。私にも未就学児の子がいるのでまさに本当にそのまま。 「もうご飯食べないのね?」 →「ご飯食べる!」(結局食べない) 私は修正依頼したら大体はコメントしています。このコピペ回答にも漏れなく。
退会済みユーザー

退会済みユーザー

2022/10/11 09:07

よって、私はあなたの未就学児の子より賢い。
m.ts10806

2022/10/11 09:29 編集

~6歳より賢いと胸を張られても。ねぇ。。。 まだちゃんと返事も挨拶もできる子供の方が賢いと感じる。 >私はLaravelを利用したことがある。 >私はPHPを利用したことがある。 それはよかった。 Laravelで未解決未回答の質問だけでも800件以上あるので、 さっそくその利用経験を活かして質問者に貢献してあげてください。 こちらでオウム返しレベルのコピペ議論してても何の発展もないので。 https://teratail.com/search?q=tag%3ALaravel+is%3Anot-accepted+is%3Anot-answered+sort%3Acreated-desc
退会済みユーザー

退会済みユーザー

2022/10/11 09:46

私はあなたの未就学児の子より賢いことを証明できたから、私は現状に満足している。 もうすぐ就活を始めなければならないから、忙しい。
m.ts10806

2022/10/11 11:09

>私はあなたの未就学児の子より賢いことを証明できたから 客観的に判断できる根拠がないので何とも。 >もうすぐ就活を始めなければならないから、忙しい。 私に絡んでる暇がある時点で忙しいとは無縁の人ですね。 無益なことに執着している暇があれば件の800件のどれかに貢献してきてください。 実力も実績も示せない人は誰も評価しません。
退会済みユーザー

退会済みユーザー

2022/10/11 11:30

私はバイトから始めたい。 あなたはなぜ、私の就活を応援しない? 千里の道も一歩から。
退会済みユーザー

退会済みユーザー

2022/10/11 11:32

私はあなたの未就学児の子より賢いことを証明する。 私は二分探索を知っている。 私は動的計画法を知っている。 私は幅優先探索を知っている。 私はアルゴリズムを知っている。 私はmod 10^9+7を知っている。 私はメタバースを知っている。 私はplay to earnを知っている。
guest

0

Field 'name' doesn't have a default value
意訳:[name]フィールドにデフォルト値がありません。

BooksテーブルのnameカラムがNOT NULLなのでしょう。
提示のformにはnameに該当する情報が含まれていませんし、
またBookインスタンスにも設定されたのはtitleとcommentsのみでnameは設定されていません。

form送信はformに所属する入力コントロールでname属性が設定されているものを属性値をキーとしてリクエストに含みますので、
送信したい入力コントロールには全てname属性を設置し、その属性値でコントローラで受け取る必要があります。
※なお存在しないname属性値を参照しようとした場合はnullが取得されるので注意

投稿2022/10/11 06:45

編集2022/10/11 07:25
m.ts10806

総合スコア80852

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

REIKY

2022/10/11 07:02

ありがとうございます。 どのような処理を行えばよろしいでしょうか? Modelsに protected $fillable = [ 'title', 'comments', 'name', ]; を追加し、 contorollerにもnameを追加しても同様のことが起こります。
m.ts10806

2022/10/11 07:08 編集

>contorollerにもnameを追加しても どのように書いたのでしょうか。 ただ、先に回答に書いた通りform内にname属性に「name」とつけられた入力コントロールが存在しないので ※回答の「提示のformにはnameに該当する情報が含まれていません。」の部分のこと $request->input('name')としても取得されるのはnullになるはずなのですが。
m.ts10806

2022/10/11 07:26 編集

>修正依頼した人 >質問に対する回答となっていない投稿 ちゃんと質問読んでたらその指摘はできませんね。 どこがどう回答になってないのかそろそろ具体的にご指摘いただきたいところ。 質問者さんがピンと来てなさそうなので「不足」ならまだ分かる(先んじて追記しましたが)
m.ts10806

2022/10/11 07:26 編集

>修正依頼した人 >説明が不足している回答 で、先んじで修正したのに、どう不足しているのか具体的にコメントもらえませんかね。 いつもやってるユーザなのは明らかなので嫌がらせ目的なのはもうわかってることなのですが・・・ 運営には通報済み。
退会済みユーザー

退会済みユーザー

2022/10/11 07:38

なんでけんか腰なの? 怖いです。 今すぐ、その傲慢で人を見下したような態度をやめてください。 というか、修正依頼されたくらいでそこまで怒るのもおかしいです。 修正依頼≠低評価です。 あなたはすぐに真っ当な指摘でさえ、嫌がらせと同一視していますが、それは間違った考え方です。 指摘はできる限り受け入れるべきです。 誤った回答、曖昧な回答、初心者にわかりづらい回答しかできないなら、そもそも回答しないで。
m.ts10806

2022/10/11 07:55 編集

修正依頼に対して具体的なコメントを求める≠怒る 修正依頼に対して具体的なコメントを求める≠けんか腰 修正依頼に対して具体的なコメントを求める≠その傲慢で人を見下したような態度 意図不明な修正依頼なので具体的に何がどう違うのかコメントを求めているだけです。 じゃないとこちらもどう対応していいか分からないので。(質問には十分答えていて解決可能なだけの情報は提示している) >真っ当な指摘でさえ 修正依頼を以前の低評価と同じように利用する輩がいるのは事実で、 その中に真っ当な指摘は一つもありません。修正依頼を投げるだけなのは「曖昧な指摘」です。 それに今のあなたも何一つ真っ当な指摘をしていません。 私個人の否定に終始するのではなく、質問や回答について真っ当な指摘してもらえませんか? 明らかに本質問と無関係なコメントですよね。 それに質問者がどの程度の内容をどの程度で理解できるかは話してみないと分かりません。 質問者の返信やコメントの様子を見て追記や補足等々するのは当然かと思いますが、 ここ数日(10/9~)に参加したばかりで現時点で質問も回答も何もしてないあなたのような全く面識のないユーザーが いきなり言ってくるのはおかしいと思います。それとも既に別のアカウントをお持ちですか?
退会済みユーザー

退会済みユーザー

2022/10/11 08:05

通報する=怒る Zuishinは傲慢です。 修正依頼を以前の低評価と同じように利用する輩がいないのは事実で、 その中に真っ当な指摘は一つもあります。修正依頼を投げるだけなのは「曖昧な指摘」ではありません。 それに今のあなたも何一つ真っ当な指摘をしています。 私個人の否定に終始するのではなく、質問や回答について真っ当な指摘してもらえます。 明らかに本質問と無関係なコメントではありません。 とにかく、あなたはその攻撃的な態度を改めるべきです。
退会済みユーザー

退会済みユーザー

2022/10/11 08:10 編集

BooksテーブルのnameカラムがNOT NULLであることの説明がない。 提示のformにはnameに該当する情報が含まれている可能性がある。 「※なお存在しないname属性値を参照しようとした場合はnullが取得されるので注意」? なぜ? しかも、計算量 (O(1), O(N)など) の説明がない。
m.ts10806

2022/10/11 08:11

結局、本質問内容を理解してないし、それに対する回答の正当性を判断できてないのもわかりました。 あと「またアンタか。いい加減にしつこい」って扱われても仕方な人であることも判明しましたね。すぐ凍結されるでしょう。 ひとまず、御託はいいので、この回答のどこがどう質問の回答になっていないのか、不足しているのかを 具体的に書いてもらえませんか?今のところ一切質問に関係ないです。 書かないならただの迷惑行為です。(質問者に対しても)
退会済みユーザー

退会済みユーザー

2022/10/11 08:14

御託とはなんて失礼な。 計算量の説明がない。 計算量は、アルゴリズムにおける重要な概念であり、これを考慮しないと、TIME LIMIT EXCEEDEDなどになる。 コントローラはname属性がないと受け取れないとは限らない。
m.ts10806

2022/10/11 08:21 編集

>BooksテーブルのnameカラムがNOT NULLであることの説明がない。 質問に提示されてないので「なのでしょう」と出ている現象からの推測として書いているので間違ってない。 というか、SQL側から出力されているエラーメッセージからNOT NULLであるのは明らか。 そもそも、私個人への否定から入るのではなく、質問者へ追記依頼をするのが妥当な行動では? >提示のformにはnameに該当する情報が含まれている可能性がある。 質問のコード読んでないんですか?どこにもありません。 提示されてない情報まで考慮は出来ません。 そもそも、私個人への否定から入るのではなく、質問者へ追記依頼をするのが妥当な行動では? >「※なお存在しないname属性値を参照しようとした場合はnullが取得されるので注意」? なぜ? 存在しない属性値の参照はNULLですよ。仕様の話。 どこがどう分からないのか分からないので、「書いてある通り」くらいしか言えない。 >しかも、計算量 (O(1), O(N)など) の説明がない。 何の話ですか? 質問内容を読んでおらず、理解もしてなく、 LaravelはおろかPHPもWeb自体も理解してない人が修正依頼できるわけないですよね。 明らかに的外れな指摘をしているという指摘をしておきます。
退会済みユーザー

退会済みユーザー

2022/10/11 08:22 編集

追記依頼した。 質問のコードを読まなくても推測することはできる。 teratailにアップロードされている情報だけが全てではない。 計算量が大きいと、TIME LIMIT EXCEEDED, WRONG ANSWERなどになる。 あなたのコードは、計算量解析が行われていない。 「Web自体」って何笑 範囲が広すぎて曖昧である。
m.ts10806

2022/10/11 08:22

>計算量の説明がない。 本件に何の計算量の説明が必要ですか? ここに何の指摘にもなってない御託並べるんじゃなく、自分で「回答になっていて不足してない」回答してもらった方がいいと思いますが。
m.ts10806

2022/10/11 08:27 編集

>質問を修正せよ。 人に「傲慢で人を見下したような態度」を求めておいてこれは酷い ↓ 訂正:人に「傲慢で人を見下したような態度をやめろ」と求めておいてこれは酷い
退会済みユーザー

退会済みユーザー

2022/10/11 08:26 編集

時間計算量は空間計算量とは異なる概念であり、双方のトレードオフが重要である。 面倒くさいから、私自身では回答しません。 答えを与えても、質問者のためにはならない。 私は「傲慢で人を見下したような態度」を求めていない。 私は「傲慢ではなく人を見下していないような態度」を求めている。
m.ts10806

2022/10/11 08:25

自身の発言の矛盾に気づけてから発言してください。 今のところ邪魔にしかなってません。
退会済みユーザー

退会済みユーザー

2022/10/11 08:27

m.ts10806自身が言っても、その証拠にはならない。 a.comさんなどに証言してもらわなければならない。
m.ts10806

2022/10/11 08:28

無関係のコメントに終始するのをやめてください。 あとa.comというユーザも本件とは無関係でしょう。
退会済みユーザー

退会済みユーザー

2022/10/11 08:29

私のコメントは無関係ではない。
m.ts10806

2022/10/11 08:32

PHPにもLaravelにも関係ない。 起きているSQLのエラーにも関係ない。 だから無関係。もうさすがに無視するので。 荒らしたいならご自由にどうぞ。 でも、質問者に迷惑かけてることも少しは考えてくださいね。
退会済みユーザー

退会済みユーザー

2022/10/11 08:35 編集

だから、荒らす意図はない。 私は回答を投稿した。
退会済みユーザー

退会済みユーザー

2022/10/11 08:41

あなたは修正依頼で怒るのに、私には修正依頼するんですね。 これだけで、あなたの性格がよくわかる。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問