2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

laravelで404エラーになる人(モデルが原因かも)

Last updated at Posted at 2020-02-22

#結論
モデルが違う

#パターン1
例えば
今はAモデルのデータを引っ張ってきて表示しています。
404.png

editをクリックすると404エラーです。
4041.png

理由としてはeditはBモデルのデータを引っ張ってきていたからです。
※Bモデルのテーブルの中身はこの場合、空

Bモデルのテーブルに中身が入っていたらBモデルのデータが表示されますが、Aモデルを表示しておいてeditを押すとBモデルのデータが表示されるのは意味が分からないのでどちらかに統一しましょう。

#パターン2
delete.png

画像の"×"ボタンを押すと削除されるはずだが・・・

4041.png

404エラーです。

これも同じく、Aモデルのデータを引っ張ってきているのに"×"を押した先はBモデルの削除が実行されているからです。

DBにBモデルの中身は存在しません。よって404エラー

※理由は上記と同じ

##コード修正

web.php
//変更前 中身が空っぽのpostモデル
 Route::delete('/posts/{post}', 'PostsController@destroy');

//変更後
 Route::delete('/posts/{ico}', 'PostsController@destroy');
PostsController
//変更前 中身が空っぽのpostモデルを引っ張ってきて削除
   public function destroy(Post $post) {
      $post->delete();
      return redirect('/');
    }


//変更後
   public function destroy(Ico $ico) {
      $ico->delete();
      return redirect('/');
    }
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?