블로그가 데이터베이스에 올바르게 표시되거나 저장되지 않습니다.
P粉111641966
2023-09-01 17:46:54
<p>블로그를 삭제하면 완전히 삭제됩니다. 새 블로그를 만들 수 있지만 웹사이트나 데이터베이스에 표시되지 않습니다. 이것은 내 BlogController입니다: </p>
<pre class="brush:php;toolbar:false;"><?php
네임스페이스 AppHttpControllers;
AppModelsBlog를 사용하세요.
IlluminateHttpRequest를 사용하세요.
BlogController 클래스는 Controller를 확장합니다.
{
/*** 자원 목록을 표시합니다.
*
* @return IlluminateHttpResponse*/
공개 함수 인덱스()
{
$blog = 블로그::paginate(5);
return view('blogs.index', 컴팩트('blog'))
->with('i',(request()->input('페이지',1)-1)*5);
}
/*** 새로운 자원을 생성하기 위한 양식을 표시합니다.
*
* @return IlluminateHttpResponse*/
공개 함수 생성()
{
return view('blogs.create');
블로그::create($request->all());
return 리디렉션()->route('blogs.index')
->with('성공','블로그가 성공적으로 생성되었습니다.');
}
/*** 새로 생성된 리소스를 스토리지에 저장합니다.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse*/
공공 기능 저장소(요청 $request)
{
$요청->검증([
'제목' => '필수',
'설명' => '필수',
]);
$blog = 새 블로그;
$blog->제목 = $request->제목;
$blog->설명 = $request->설명;
$blog->저장();
return 리디렉션()->route('blogs.index');
}
/*** 지정된 리소스를 표시합니다.
*
* @param AppBlog $블로그
* @return IlluminateHttpResponse*/
공개 기능 쇼(블로그 $blog)
{
return view('blogs.show', Compact('blog'));
}
/*** 지정된 리소스를 편집하기 위한 양식을 표시합니다.
*
* @param AppBlog $블로그
* @return IlluminateHttpResponse*/
공개 기능 편집(블로그 $blog)
{
return view('blogs.edit', Compact('blog'));
}
/*** 저장소의 지정된 리소스를 업데이트합니다.
*
* @param IlluminateHttpRequest $request
* @param AppBlog $블로그
* @return IlluminateHttpResponse*/
공개 기능 업데이트(요청 $request, 블로그 $blog)
{
$요청->검증([
'제목' => '필수',
'설명' => '필수',
]);
// $blog->제목 = $request->제목;
// $blog->description = $request->description;
$blog->fill($request);
//dd($blog);
return 리디렉션()->route('blogs.index')
->with('성공','블로그가 성공적으로 업데이트되었습니다');
}
/**
* 저장소에서 지정된 리소스를 제거합니다.*
* @param AppBlog $블로그
* @return IlluminateHttpResponse
*/
공개 함수 파괴(블로그 $blog)
{
$blog->삭제();
return 리디렉션()->route('blogs.index')
->with('성공','블로그가 삭제되었습니다.');
}
}</pre>
<p>문제는 분명히 라인 103에서 발생합니다. 공개 함수 업데이트: <code>fill($request);</code> 데이터베이스나 웹 페이지/블로그에 저장되지 않습니다. 보이는. 해당 줄을 제거하려고 시도했지만 동일한 결과를 얻었습니다. 아무것도 변하지 않습니다. 문제가 무엇인지 이해하지 못합니다. 누구든지 도와줄 수 있나요? </p>
첫 번째 옵션 은
으아악fill
方法起作用,您必须在此之后调用$blog->save()
을 만드는 것입니다.또한
fill
메소드를 사용하면 일괄과제를 수행하게 됩니다. 기본적으로 Laravel은 대량 할당 필드로부터 사용자를 보호합니다.Blog.php
模型,并将要批量赋值的字段添加到数组$fillable
中두 번째 옵션은 일괄 할당 필드이기도 한
으아악update
方法(不要忘记在第一种选择的模型中也添加字段到$fillable
,因为update
메서드를 사용하는 것입니다.세 번째 옵션 은
으아악store
메소드에서 했던 것처럼 각 필드를 하나씩 수동으로 할당하는 것입니다.