Blog tidak dipaparkan atau disimpan dengan betul dalam pangkalan data
P粉111641966
2023-09-01 17:46:54
<p>Sebaik sahaja saya memadamkan blog, ia akan dipadam sepenuhnya. Saya boleh membuat blog baharu tetapi ia tidak akan dipaparkan di tapak web atau pangkalan data. Ini adalah BlogController saya: </p>
<pre class="brush:php;toolbar:false;"><?php
ruang nama AppHttpControllers;
gunakan AppModelsBlog;
gunakan IlluminateHttpRequest;
kelas BlogController memanjangkan Pengawal
{
/*** Paparkan senarai sumber.
*
* @return IlluminateHttpResponse*/
indeks fungsi awam ()
{
$blog = Blog::halaman(5);
paparan kembali('blogs.index', compact('blog'))
->dengan('i',(permintaan()->input('halaman',1)-1)*5);
}
/*** Paparkan borang untuk mencipta sumber baharu.
*
* @return IlluminateHttpResponse*/
fungsi awam create()
{
return view('blogs.create');
Blog::create($request->all());
return redirect()->route('blogs.index')
->with('success','Blog telah berjaya dibuat.');
}
/*** Simpan sumber yang baru dicipta dalam storan.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse*/
kedai fungsi awam(Minta $request)
{
$request->validate([
'title' => 'diperlukan',
'description' => 'diperlukan',
]);
$blog = Blog baharu;
$blog->tajuk = $permintaan->tajuk;
$blog->penerangan = $permintaan->penerangan;
$blog->simpan();
return redirect()->route('blogs.index');
}
/*** Paparkan sumber yang ditentukan.
*
* @param AppBlog $blog
* @return IlluminateHttpResponse*/
pertunjukan fungsi awam(Blog $blog)
{
return view('blogs.show', compact('blog'));
}
/*** Paparkan borang untuk mengedit sumber yang ditentukan.
*
* @param AppBlog $blog
* @return IlluminateHttpResponse*/
edit fungsi awam(Blog $blog)
{
return view('blogs.edit', compact('blog'));
}
/*** Kemas kini sumber yang ditentukan dalam storan.
*
* @param IlluminateHttpRequest $request
* @param AppBlog $blog
* @return IlluminateHttpResponse*/
kemas kini fungsi awam (Permintaan $permintaan, Blog $blog)
{
$request->validate([
'title' => 'diperlukan',
'description' => 'diperlukan',
]);
// $blog->tajuk = $permintaan->tajuk;
// $blog->penerangan = $permintaan->penerangan;
$blog->fill($request);
//dd($blog);
return redirect()->route('blogs.index')
->dengan('berjaya','Blog berjaya dikemas kini');
}
/**
* Keluarkan sumber yang ditentukan daripada storan.*
* @param AppBlog $blog
* @return IlluminateHttpResponse
*/
fungsi awam memusnahkan(Blog $blog)
{
$blog->delete();
return redirect()->route('blogs.index')
->dengan('berjaya','Blog berjaya dipadamkan');
}
}</pre>
<p>Masalah ini nampaknya berlaku pada baris 103, kemas kini fungsi awam: <kod> $blog->fill($request);</code> nampak. Saya cuba mengalih keluar baris itu tetapi mendapat hasil yang sama. Tiada perubahan. Saya tidak faham apa masalahnya. Ada sesiapa boleh tolong? </p>
Pilihan pertama ialah membuat
fill
方法起作用,您必须在此之后调用$blog->save()
.Selain itu, apabila anda menggunakan kaedah
fill
, anda sedang melakukan tugasan pukal. Secara lalai, Laravel melindungi anda daripada medan yang diberikan secara pukal.Buka
andaBlog.php
模型,并将要批量赋值的字段添加到数组$fillable
中Pilihan kedua ialah menggunakan kaedah
update
方法(不要忘记在第一种选择的模型中也添加字段到$fillable
,因为update
yang juga merupakan medan tugasan kelompok):Pilihan ketiga ialah menetapkan setiap medan secara manual satu demi satu, seperti yang anda lakukan dalam kaedah
store
: