Saya mempunyai model yang dipanggil Artikel yang mengandungi tiga sifat: 'tajuk', 'sari kata' dan 'badan', ia berfungsi dengan sempurna tetapi empat lajur ditambahkan pada model ('sari kata2', 'badan2', 'sari kata3' dan 'badan3 '), lajur yang baru ditambah kekal kosong selepas mencipta artikel. Jelas saya kehilangan sesuatu, tetapi saya tidak dapat mengetahui apa.
Ini adalah penghijrahan:
public function up() { Schema::table('articles', function (Blueprint $table) { $table->string('subtitle2')->nullable()->default(null); $table->text('body2')->nullable()->default(null); $table->string('subtitle3')->nullable()->default(null); $table->text('body3')->nullable()->default(null); }); }
Selepas penghijrahan, saya mengedit app/Http/Models/Article.php dan ia kelihatan seperti ini:
protected $fillable = [ 'title', 'subtitle', 'body', 'subtitle2', 'body2', 'subtitle3', 'body3', ];
Ini apl saya/Http/Livewire/CreateArticle.php
class CreateArticle extends Component { use WithFileUploads; public $title; public $subtitle; public $body; public $category; public $subtitle2; public $body2; public $subtitle3; public $body3; public $temporary_images; public $images = []; public $article; public function store() { $this->validate(); $this->article = Category::find($this->category)->articles()->create($this->validate()); $this->article->user()->associate(Auth::user()); $this->article->save(); if(count($this->images)){ foreach($this->images as $image){ $newImage = $this->article->images()->create(['path'=>$image->store('images', 'public')]); dispatch(new ResizeImage($newImage->path, 600, 400)); } } }
Akhir sekali, saya menambah baris ini pada borang:
{{-- INSERT SUBTITLE 2 --}} <div class="mb-3"> <label for="subtitle2" class="form-label">第二段副标题</label> <input type="text" wire:model="subtitle2" class="form-control" id="subtitle2"> </div> {{-- INSERT PARAGRAPH 2 --}} <div class="mb-3"> <label for="body2" class="form-label">第二段</label><br> <textarea class="form-control" wire:model="body2" id="body2" cols="30" rows="3"></textarea> </div> {{-- INSERT SUBTITLE 3 --}} <div class="mb-3"> <label for="subtitle3" class="form-label">第三段副标题</label> <input type="text" wire:model="subtitle3" class="form-control" id="subtitle3"> </div> {{-- INSERT PARAGRAPH 3 --}} <div class="mb-3"> <label for="body3" class="form-label">第三段</label><br> <textarea class="form-control" wire:model="body3" id="body3" cols="30" rows="3"></textarea> </div>
dd($this); mengembalikan kandungan berikut
Tinker menunjukkan semua lajur
Anggap dd();imej yang anda berikan adalah terkini. Saya dapat melihat bahawa lajur baru tidak wujud dalam pangkalan data. ('subtitle2', 'body2', 'subtitle3' dan 'body3') Semua ini tidak tersedia dalam senarai. Jadi saya rasa anda terlupa untuk menjalankan arahan migrasi
Anda perlu nyatakan
boleh guna