Отсутствуют обязательные параметры для [Route: user.profile] - PullRequest
1 голос
/ 27 марта 2020

Я пытаюсь создать профиль пользователя в своем приложении laravel, где каждый пользователь может просматривать профиль каждого пользователя, и я получил ошибку

Отсутствуют обязательные параметры для [Маршрут: пользователь. профиль]

Screenshot of the error

Вот мой код:

web. php

Route::get('user/profile/{id}', 'UserProfileController@profile')->name('user.profile');

Контроллер (UserProfileController)


namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\User; 

class UserProfileController extends Controller
{
    //
    public function __construct()
    {
        $this->middleware('auth', ['except' => [ 'profile']]);
    }
    public function profile($id)
    {
        $user = User::find($id);
        return view('user.profile', compact('user') );
    }

}

Просмотр (profile.blade. php)


@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-10 offset-md-1">
            <div class="card">
                <div class="card-header">{{ $user->name }}'s Profile page</div>

                <div class="card-body">
                    Hi, {{ $user->name }} This is a private profile page!!!
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Если вы внимательно прочитаете свою ошибку, ошибка говорит о app.blade. php, поэтому go app.blade. php и найдите ошибку. вероятно, вы должны искать **

тег привязки передать ему идентификатор

**

и добавить еще для более новой версии laravel вы можете использовать привязку модели для уменьшения кода

publi c профиль функции (пользователь $ пользователь)

{

           return view('user.profile')->withUser($user);
}
0 голосов
/ 27 марта 2020

Проблема в вашем laoyouts / app.blade Вы забыли свой обязательный параметр 'id'. Используйте {{route ('user.profile', $ id)}}

...