Laravel 5.5.34 отсутствует аргумент 1 для app \ http \ controllers \ admincontroller :: userprofile ()

view.blade.php

<a href="/userprofile/{{ $user->id }}"> Profile/>

web.php

Route::get('/userprofile/{user_id}', 'AdminController@userprofile'));

AdminController

Class AdminController extends Controller
{
    public function userprofile($user_id)
    {
        $exists = DB::table('user_profile')->orderBy('updated_at', 'desc')
                    ->where('user_id', $user_id)->first();
        //..
    }
     //..
}

Ошибка

Missing argument 1 for App\Http\Controllers\AdminController::userprofile()

Я получил ошибку в этом аргументе, и я не могу понять, в чем ошибка.

Кто-нибудь может указать? Большое спасибо!

определен идентификатор пользователя ?. Вы видите это в URL-адресе?

Dave Carruthers 11.04.2018 12:39

У вас случайно есть другой маршрут, указывающий на AdminController@userprofile?

Rwd 11.04.2018 12:44

проверьте, изменив свой <a href="/userprofile/1"> профиль </a> view, если он работает, значит, ваш {{ $user->id }} неправильно отправляет идентификатор

Fokrule 11.04.2018 12:44

Спасибо, ребята, за совет. Росс понял, что я ошибочно вызвал AdminController @ userprofile по другому маршруту.

user0814 12.04.2018 03:11
0
4
162
3

Ответы 3

Попробуйте изменить файл просмотра с

<a href="/userprofile/{{ $user->id }}"> Profile/>

К

<a href="{{ url('userprofile/'. $user->id) }}"> Profile</a>
<a href="{{ url('userprofile/'. $user->id) }}"> Profile</a>

Спасибо, ребята, за совет.

Росс понял, что я ошибочно вызвал AdminController @ userprofile по другому маршруту.

В некоторых случаях могут быть актуальны и другие ответы. Цените ваш вклад.

Другие вопросы по теме