【问题标题】:Moving project online broke laravel controller在线搬家项目破坏了laravel控制器
【发布时间】:2019-03-27 11:17:53
【问题描述】:

这是我的路线:

Route::group(['prefix' => 'admin', 'middleware'=>['auth','role:admin']], function () {

  Route::get('/co2index', 'UserController@adminCo2Index');
}

这是失败的控制器方法:

<?php

namespace App\Http\Controllers;

use App\Http\Impl\ReferentManager;
use App\Http\Impl\RoleManager;
use App\Http\Impl\UserManager;
use App\Http\Impl\ValidationRulesManager;
use App\Models\User;
use App\Notifications\UserActivatedNotification;
use App\Models\Vendita;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\Referent;
use App\Models\Ddt;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Support\Facades\Session;

class UserController extends Controller
{
    public function adminCo2Index()
    {
        $search = \Request::get('search'); //<-- we use global request to get the param of URI
        $companies = User::where('name', 'like', '%' . $search . '%')->orderBy('name')
            ->paginate(10);
        $ddts_count = DB::table('ddts')
            ->select('company_id', DB::raw('count(*) as total'))
            ->groupBy('company_id')
            ->get();

        if ($companies && $ddts_count) {
            return view('administration.co2Index')->with('companies', $companies)->with('ddts_count', $ddts_count);

        } else {
            return view('administration.co2Index')->with('companies', null)->with('ddts_count', null);

        }
    }
}

如果我尝试访问,请在我的在线服务器上:

mysite.com/admin/co2index 它返回: BadMethodCallException 方法 [adminCo2Index] 不存在。在 Controller.php 第 82 行:

在本地主机上它可以工作!另外,我在 UserController 类上还有其他方法,即使在网上也能正常工作!
如果我在$companies$ddts_count 上放置“null”,则正确的空视图将加载到本地主机上。如果我在网上做同样的事情,我仍然有同样的错误! 如果我将dd('ciao') 放在方法的顶部,仍然会显示错误并且前端没有消息...

这对我来说看起来很奇怪!我看不到任何错别字...感谢您的帮助!

【问题讨论】:

    标签: laravel class controller http-method


    【解决方案1】:

    点击这个命令

    composer dump-autoload
    

    【讨论】:

    • 你成就了我的一天!谢谢!当我移动项目时,我运行 composer install/composer update,生成新的应用程序密钥,然后 php artisan 清除路由、缓存、视图。那是怎么回事?再次感谢
    • 它只是重新生成需要包含在项目中的所有类的列表(autoload_classmap.php)
    • composer install/composer update 只是安装和更新依赖项
    • 等一下,下一个问题是登录路径现在坏了!但 Auth 路由和视图都存在!!!!重新运行相同的命令建议没有解决这个问题
    • 所有路径视图授权似乎都不见了!
    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多