Отображать аватар для каждого пользователя в профиле Laravel 5.5

Привет всем, у меня небольшая проблема с моим приложением. Я могу отобразить аватар Auth :: user, но когда я перехожу в другой профиль "другой профиль учетной записи", я получаю этот профиль, но с аватаром Auth :: user. У меня вопрос: как я могу отобразить аватар каждого зарегистрированного пользователя в каждом профиле?

Это мой метод ProfileController для доступа к профилям.

public function profile($username)
{
  $user = User::where('username', $username)->firstOrFail();
  $users = User
          ::join('posts', 'posts.user_id', '=', 'users.id')
          ->join('comments', 'comments.user_id', '=', 'users.id')
          ->select('posts.title', 'posts.user_id as users.name', 'comments.comment', 'comments.created_at', 'users.name')
          ->get()
          ->first();
  return view('profile.index', ['user' => Auth::user()] )->withUsers($users);
}

Маршрут

Route::get('profile/{username}', 'ProfileController@profile')->name('profile');

Как я показываю изображение в Profile Vie

<figure>
 <img class="img-responsive img-circle" src="/uploads/avatars/{{ $user->profilepic }}" alt="Foto de perfil{{ Auth::user()->profilepic }}, {{ Auth::user()->name }}">
</figure>

заранее спасибо


person Juan Rincón    schedule 16.01.2018    source источник


Ответы (1)


Вы всегда передаете в представление аутентифицированного пользователя. Итак, измените это:

['user' => Auth::user()]

To:

['user' => $user]

Также, я думаю, вам следует изменить alt текст:

{{ $user->profilepic }}, {{ $user->name }}

Вместо:

{{ Auth::user()->profilepic }}, {{ Auth::user()->name }}
person Alexey Mezenin    schedule 16.01.2018