【问题标题】:BadMethodCallException Method App\Http\Controllers\StoreController::show does not existBadMethodCallException 方法 App\Http\Controllers\StoreController::show 不存在
【发布时间】:2019-12-22 15:50:11
【问题描述】:

我也是 laravel 新手,我正在创建一个博客,特别是所有博客将显示的索引页面,当显示时,当单击特定博客标题而不是打开它显示的博客文章时

BadMethodCallException 方法 App\Http\Controllers\StoreController::show 不存在。

Route::group(['middleware' => ['web']], function () {

    Route::get('/','StoreController@index');
    Route::resource('store','StoreController');    
    Route::resource('category','CategoryController');
    Route::resource('post','PostController');
    //Route::resource('user','UserController');
    //Route::controller('mail','MailController');

});

Route::group(['middleware' => ['web']], function () {

    Route::get('/','StoreController@index');
    Route::resource('store','StoreController');
    Route::resource('category','CategoryController');
    Route::resource('post','PostController');
    //Route::resource('user','UserController');
    //Route::controller('mail','MailController');

});

【问题讨论】:

  • StoreController 在您的项目中是否可用
  • 是的......
  • with('posts', Post::orderBy('created_at','DESC')->get()); } public function getView($id){ return view('store.view') ->with('posts', Post::find($id)); } }
  • 这是控制器吗
  • 是的,正在尝试添加图片,如何在评论中添加图片

标签: laravel


【解决方案1】:

我的工作正常,但突然开始抛出错误。 创建一个新控制器,将旧控制器中的所有方法复制并粘贴到新控制器中。这解决了我的问题。希望它能解决你的问题。例如,我的旧控制器是 WebsiteController 并重命名为 WebController。 记住也要更改路由中的控制器。 希望有人帮忙解释这是什么原因..

【讨论】:

    【解决方案2】:

    您是否创建了您的StoreController?如果您确实看起来您的控制器缺少 show() 函数,该函数应该处理特定的博客节目。您是否使用-r 标志创建它,如下所示:

    php artisan make:controller StoreController -r
    

    这将自动创建一个包含所有必要方法的资源控制器:

    1. 索引()
    2. 显示()
    3. 创建()
    4. 商店()
    5. 更新()
    6. 删除()

    更多资源控制器见官方documentation

    【讨论】:

    • 是的,我检查了我的路线,它显示了商店控制器
    • 我再次尝试使用 php artisan make:controller StoreController -r 创建,控制器已经存在
    • 你能把你的控制器放在你原来的问题中吗?
    【解决方案3】:

    确保您的控制器“StoreController”具有显示方法。

    https://laravel.com/docs/5.8/controllers#resource-controllers

    【讨论】:

      【解决方案4】:

      发布您正在使用的 HTML 代码以重定向到博客页面。除此之外,您似乎没有按照应有的方式使用 Laravel 路由。

      【讨论】:

        猜你喜欢
        • 2020-10-15
        • 2021-04-20
        • 1970-01-01
        • 1970-01-01
        • 2020-09-01
        • 2018-05-25
        • 2021-04-04
        • 2020-05-08
        • 2017-08-01
        相关资源
        最近更新 更多