Отображать аутентифицированного пользователя в laravel

Привет, я пытаюсь отобразить аутентифицированного пользователя, но получаю эту ошибку:

Неопределенная переменная: пользователи (Вид: C:\wamp64\www\Blan\resources\views\users\index.blade.php)


this is my code :
usercontroller :
public function index()
{
    return view('users.index')->with('user', Auth::user());
    
}

вид :

@extends('layouts.app')

@section('content')

<div class = "card">
    <div class = "card-header">
        Update Your Profile
    </div>

    <div class = "card-body">
        <table class = "table table-hover">
            <thead>
                <th>Image</th>
                <th>Name</th>
                <th>Update</th>
            </thead>
            <tbody>
                @if ( $users -> count() > 0 )

                    @foreach ($users as $user)
                        <tr>
                            <td>
                                @if (isset($user->profile->avatar))

                            <img src = "{{ asset($user->profile->avatar)}}" width = "60px" height = "60px" style = "border-radius: 50%" alt = "">
                                @else 
                            No image
                            @endif
                            </td>

                            <td>
                                {{$user->name}}
                            </td>

                            <td>
                                <a href = "#" class = "btn btn-success">Update</a>
                            </td>
                        </tr>
                    @endforeach
                @else 
                <tr>
                    <th colspan = "5" class = "text-center">No Users </th>
                </tr>
                @endif
            </tbody>
        </table>
    </div>

</div>    
@stop

Но если я верну всех пользователей, использующих этот код в контроллере:

return view('users.index')->with('users', User::all());

работает нормально.
так как я могу вернуть только текущего аутентифицированного пользователя?

Отвечает ли это на ваш вопрос? LARAVEL 5 :: Отображать «имя пользователя» на главной странице?

Luuk 12.12.2020 11:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
778
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В вашем примере

public function index()
{
    return view('users.index')->with('user', Auth::user());
    
}

Вы использовали «пользователь»

Но попытался получить доступ к переменной как «пользователи»

Разве вы только что не сделали опечатку в своем примере?

Ответ принят как подходящий

Вам не нужно отправлять пользователя auth через ваш контроллер. Auth — это глобальный фасад в laravel. Также вам не нужен foreach, потому что есть только 1 аутентифицированный пользователь. Просто введите Auth::user()->name в колонке где вы хотите отобразить пользователя

Да, и кстати, ошибка, которую вы получаете, связана с тем, что вы выполняете foreach для $users, но отправляете $user в лезвие, но я почти уверен, что это не сработает, даже если вы исправите эту опечатку.

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