Laravel 9で既存のテーブルに追加された新しい列がデータを保存しないという問題が残っています
<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>