Rumah > Soal Jawab > teks badan
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
P粉3421016522024-02-26 15:22:21
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
php artisan migrate
P粉8648728122024-02-26 11:14:31
Anda perlu nyatakan
protected $rules
boleh guna
$this->validate()