搜尋

首頁  >  問答  >  主體

問題仍然是Laravel 9中新增到現有表格的新欄位無法保存數據

<p>這是我原來的表格,稱為問題:</p> <pre class="brush:php;toolbar:false;">public function up() { Schema::create('questions', function (Blueprint $table) { $table->id(); $table->string('title'); $table->string('slug'); $table->string('image')->nullable(); $table->string('audio')->nullable(); $table->string('type'); $table->unsignedBigInteger('evaluation_id'); $table->foreign('evaluation_id')->references('id')->on('evaluations')->onDelete('cascade'); $table->timestamps(); }); }</pre> <p>使用此程式碼,我為現有表格新增了一個新欄位:</p> <pre class="brush:php;toolbar:false;">php artisan make:migration add_rule_to_questions_table --table=questions php artisan migrate</pre> <p>在新列的遷移檔案中,在 up() 方法中加入了以下內容:</p> <pre class="brush:php;toolbar:false;">public function 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>Rules:</label> <textarea name="rule" id="rule" class="form-control" value="{{old('rule')}}"></textarea> @error('rule') <small class="text-danger">{{$message}}</small> @enderror </div></pre> <p>最後在控制器的 store method() 中,我使用以下程式碼儲存資料:</p> <pre class="brush:php;toolbar:false;">public function store(Request $request){ Question::create([ 'title' => $request->title, 'slug' => $request->slug, 'evaluation_id' => $request->evaluation_id, 'type' => "OM", 'rules' => $request->rule, ]); }</pre> <p>但新列沒有保存數據,可能是什麼錯誤? </p>
P粉262073176P粉262073176454 天前526

全部回覆(1)我來回復

  • P粉738046172

    P粉7380461722023-08-31 12:33:59

    您需要將 rules 新增到 Question 模型中的陣列 $fillable

    回覆
    0
  • 取消回覆