У меня есть контроллер по имени RankController.php
, Я переименую в UsersController.php
вручную, когда я хочу отделить некоторые методы. Затем я решил переименовать его обратно в RankController.php
, Примечание: я только изменяю имя файла, я не меняю имя класса. Вот код контроллера.
<?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() !!}
Примечание. Это единственный файл, в котором я получаю сообщение об ошибке.
Это ошибка: Action 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)
Я пытаюсь код на другом ПК, и он генерирует ту же ошибку.
Мне нужно обновить маршрут для "UsersController"
и беги "composer dumpautoload
«
Убедитесь, что имя файла и класса совпадают, а затем
попробуйте эти команды:
1)php artisan route:cache
2)php artisan route:clear
3)composer dumpautoload -o