찾다

 >  Q&A  >  본문

블로그가 데이터베이스에 올바르게 표시되거나 저장되지 않습니다.

<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>
P粉111641966P粉111641966450일 전613

모든 응답(1)나는 대답할 것이다

  • P粉958986070

    P粉9589860702023-09-02 00:26:46

    첫 번째 옵션 fill方法起作用,您必须在此之后调用$blog->save()을 만드는 것입니다.

    으아악

    또한 fill 메소드를 사용하면 일괄과제를 수행하게 됩니다. 기본적으로 Laravel은 대량 할당 필드로부터 사용자를 보호합니다.

    Blog.php模型,并将要批量赋值的字段添加到数组$fillable

    을 열어보세요 으아악

    두 번째 옵션은 일괄 할당 필드이기도 한 update方法(不要忘记在第一种选择的模型中也添加字段到$fillable,因为update 메서드를 사용하는 것입니다.

    으아악

    세 번째 옵션 store 메소드에서 했던 것처럼 각 필드를 하나씩 수동으로 할당하는 것입니다.

    으아악

    회신하다
    0
  • 취소회신하다