ホームページ  >  に質問  >  本文

ブログが表示されない、またはデータベースに正しく保存されない

<p>ブログを削除すると、完全に削除されます。新しいブログを作成できますが、Web サイトやデータベースに表示されません。これは私の BlogController です: </p> <pre class="brush:php;toolbar:false;"><?php 名前空間 App\Http\Controllers; アプリ\モデル\ブログを使用します。 Illuminate\Http\Request を使用します。 クラス BlogController はコントローラーを拡張します { /**※リソース一覧を表示します。 * * @return \Illuminate\Http\Response*/ パブリック関数インデックス() { $blog = Blog::paginate(5); return view('blogs.index', Compact('blog')) ->with('i',(request()->input('page',1)-1)*5); } /**※新規リソース作成フォームを表示します。 * * @return \Illuminate\Http\Response*/ パブリック関数 create() { return view('blogs.create'); ブログ::create($request->all()); return redirect()->route('blogs.index') ->with('success','ブログは正常に作成されました。'); } /*** 新しく作成したリソースをストレージに保存します。 * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response*/ パブリック関数ストア(リクエスト $request) { $request->validate([ 'タイトル' => '必須'、 '説明' => '必須'、 ]); $blog = 新しいブログ; $blog->title = $request->title; $blog->description = $request->description; $blog->save(); return redirect()->route('blogs.index'); } /**※指定されたリソースを表示します。 * * @param \App\Blog $blog * @return \Illuminate\Http\Response*/ public function show(ブログ $blog) { return view('blogs.show', Compact('blog')); } /**※指定したリソースを編集するためのフォームを表示します。 * * @param \App\Blog $blog * @return \Illuminate\Http\Response*/ パブリック関数編集(ブログ $ブログ) { return view('blogs.edit', Compact('blog')); } /*** ストレージ内の指定されたリソースを更新します。 * * @param \Illuminate\Http\Request $request * @param \App\Blog $blog * @return \Illuminate\Http\Response*/ public function update(リクエスト $request、ブログ $blog) { $request->validate([ 'タイトル' => '必須'、 '説明' => '必須'、 ]); // $blog->title = $request->title; // $blog->description = $request->description; $blog->fill($request); //dd($ブログ); return redirect()->route('blogs.index') ->with('success','ブログが正常に更新されました'); } /** * 指定されたリソースをストレージから削除します。* * @param \App\Blog $blog * @return \Illuminate\Http\Response */ public function destroy(ブログ $blog) { $blog->delete(); return redirect()->route('blogs.index') ->with('成功','ブログは正常に削除されました'); } }</pre> <p>問題は行 103 の public function update で発生しているようです: <code> $blog->fill($request);</code> これはデータベースにも Web ページ/ブログにも保存されません見える。その行を削除しようとしましたが、同じ結果が得られました。何も変わりません。何が問題なのかわかりません。誰か助けてくれませんか? </p>
P粉111641966P粉111641966436日前596

全員に返信(1)返信します

  • P粉958986070

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

    最初のオプションfill メソッドを機能させるには、この後に $blog->save() を呼び出す必要があります。

    リーリー

    また、fill メソッドを使用すると、一括割り当てが行われます。デフォルトでは、Laravel はフィールドの一括割り当てから保護します。

    #Blog.php モデルを開き、配列 $fillable にバッチ割り当てするフィールドを追加します。 リーリー

    2 番目のオプション は、update メソッドを使用することです (最初のオプションのモデルの $fillable にもフィールドを追加することを忘れないでください。 update メソッドはバッチ割り当てフィールドでもあります): リーリー

    3 番目のオプション は、store メソッドで行ったのと同じように、各フィールドを 1 つずつ手動で割り当てることです。 リーリー

    返事
    0
  • キャンセル返事