Laravel 9で既存のテーブルに追加された新しい列がデータを保存しないという問題が残っています
P粉262073176
P粉262073176 2023-08-30 13:15:31
0
1
480
<p>これが私の元のフォーム、つまり質問です:</p> <pre class="brush:php;toolbar:false;">パブリック関数 up() { Schema::create('questions', function (Blueprint $table) { $table->id(); $table->string('タイトル'); $table->string('slug'); $table->string('image')->nullable(); $table->string('audio')->nullable(); $table->string('type'); $table->unsignedBigInteger('評価 ID'); $table->foreign('evaluation_id')->references('id')->on('evaluations')->onDelete('cascade'); $table->timestamps(); }); }</pre> <p>次のコードを使用して、既存のテーブルに新しい列を追加しました。</p> <pre class="brush:php;toolbar:false;">php 職人 make:migration add_rule_to_questions_table --table=questions php 職人 移行</pre> <p>新しい列の移行ファイルでは、up() メソッドに以下が追加されました: </p> <pre class="brush:php;toolbar:false;">パブリック関数 up() { Schema::table('questions', function (Blueprint $table) { $table->longText('rule')->nullable(); }); }</pre> <p>この時点で、新しい列がデータベースに正常に追加されました。ただし、「問題」テーブルの新しい列にデータを追加しようとすると、データはデータベースに保存されません。 </p> <p>フォームの作成には次のコードを使用します。</p> <pre class="brush:php;toolbar:false;"><div class="form-group"> <label>ルール:</label> <textarea name="rule" id="rule" class="form-control" value="{{old('rule')}}"></textarea> @error('ルール') <small class="text-danger">{{$message}}</small> @enderror </div></pre> <p>最後に、コントローラーの store メソッド() で、次のコードを使用してデータを保存します。 </p> <pre class="brush:php;toolbar:false;">パブリック関数ストア(Request $request){ 質問::create([ 'タイトル' => $request->タイトル, 'slug' => $request->slug, '評価_id' => $request->評価_id, 'タイプ' => "OM", 'ルール' => $request->ルール, ]); }</pre> <p>しかし、新しい列にはデータが保存されません。何が原因でしょうか? </p>
P粉262073176
P粉262073176

全員に返信(1)
P粉738046172

モデルの Question 配列に rules を追加する必要があります $fillable

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!