Laravel 5.6 奇怪的行为 - Laravel 在我重命名后没有看到控制器
Laravel 5.6 strange behavior - Laravel doesn't see a controller after I rename it
我有一个名为 RankController.php
的控制器。当我想分离一些方法时,我在 UsersController.php
中手动重命名。然后我选择将它重新命名为 RankController.php
。注意:我只改了文件的名字,我没有改class的名字。这是控制器的代码。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Schema;
use App\User;
use App\Rank;
use App\Ban;
class RankController extends Controller
{
// Constructor function
public function __construct()
{
// Check if user is logged in
$this->middleware('auth');
}
public function search(Request $request)
{
$this->validate($request, ['search' => 'required', ]);
$users = User::select('id', 'name')->where([
['name', '!=', Auth()->user()->name],
['name', 'like', "%" . $request->input('search') . "%"],
])->paginate(10);
return view('rank.search')
->with('users', $users);
}
}
这里是我调用控制器的地方:
{!! Form::open(['action' => ['RankController@search'], 'method' => 'POST']) !!}
{{Form::text('search', '', ['placeholder' => 'Search a user'])}}
{{Form::submit('Search', ['class' => 'btn btn-primary'])}}
{!! Form::close() !!}
注意:这是我收到错误的单个文件。
这是错误:操作 App\Http\Controllers\RankController@search 未定义。 (查看:/var/www/htdocs/Proiect/resources/views/layouts/app.blade.php)(查看:/var/www/htdocs/Proiect/resources/views/layouts/app.blade.php)
我在其他 PC 上尝试该代码,它产生了同样的错误。
我想你必须更新 "UsersController"
和 运行 "composer dumpautoload
的路线
确保文件名和class相同,然后
试试这些命令:
1)php artisan route:cache
2)php artisan route:clear
3)composer dumpautoload -o
我有一个名为 RankController.php
的控制器。当我想分离一些方法时,我在 UsersController.php
中手动重命名。然后我选择将它重新命名为 RankController.php
。注意:我只改了文件的名字,我没有改class的名字。这是控制器的代码。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Schema;
use App\User;
use App\Rank;
use App\Ban;
class RankController extends Controller
{
// Constructor function
public function __construct()
{
// Check if user is logged in
$this->middleware('auth');
}
public function search(Request $request)
{
$this->validate($request, ['search' => 'required', ]);
$users = User::select('id', 'name')->where([
['name', '!=', Auth()->user()->name],
['name', 'like', "%" . $request->input('search') . "%"],
])->paginate(10);
return view('rank.search')
->with('users', $users);
}
}
这里是我调用控制器的地方:
{!! Form::open(['action' => ['RankController@search'], 'method' => 'POST']) !!}
{{Form::text('search', '', ['placeholder' => 'Search a user'])}}
{{Form::submit('Search', ['class' => 'btn btn-primary'])}}
{!! Form::close() !!}
注意:这是我收到错误的单个文件。 这是错误:操作 App\Http\Controllers\RankController@search 未定义。 (查看:/var/www/htdocs/Proiect/resources/views/layouts/app.blade.php)(查看:/var/www/htdocs/Proiect/resources/views/layouts/app.blade.php)
我在其他 PC 上尝试该代码,它产生了同样的错误。
我想你必须更新 "UsersController"
和 运行 "composer dumpautoload
的路线
确保文件名和class相同,然后 试试这些命令:
1)php artisan route:cache
2)php artisan route:clear
3)composer dumpautoload -o