Неопределенное свойство: stdClass — LARAVEL

Я пытаюсь создать страницу администратора, где владелец магазина может проверять информацию от пользователей, которые зарегистрировались на сайте, но всегда получаю ошибку Undefined property: stdClass::$name.

Вот функция контроллера:

public function listar(){
    $users = DB::table('users')->select('name')->orderBy('updated_at', 'desc')->get();
    $users = DB::table('users')->select('email')->orderBy('updated_at', 'desc')->get();
    $users = DB::table('users')->select('phone')->orderBy('updated_at', 'desc')->get(); 
}

Вот часть формы:

@foreach ($users as $u)
    <tr>
        <td>{{ $u->name }}</td>
        <td>{{ $u->email }}</td>
        <td>{{ $u->phone}}</td>
    </tr>
@endforeach

Я просто хочу, чтобы он мог показывать эту информацию из базы данных.

Я забыл включить компактную часть, но сделал это - return view('admin.usuarios.index', compact('listar', 'users')); }

Mar 18.01.2019 22:24

Вы можете отредактировать свой вопрос, чтобы добавить материал, если вы его забыли. Внизу под тегами есть ссылка на редактирование. :-)

Don't Panic 18.01.2019 22:27
Стоит ли изучать 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 и хотите разрабатывать...
2
2
2 111
2

Ответы 2

На самом деле вы запускаете запрос три раза, каждый раз перезаписывая переменную $users. В итоге вы получите последний, и у него нет свойства name, потому что вы выбрали только phone. Вы должны запустить его только один раз и указать все столбцы, которые вы хотите в select().

public function listar(){
    $users = DB::table('users')->select('name', 'email', 'phone')
                 ->orderBy('updated_at', 'desc')->get();
}

Могу ли я получить информацию из двух разных таблиц и поместить ее в одну и ту же переменную, например, $users?

Mar 18.01.2019 23:46

Ты сможешь. Есть разные способы сделать это в зависимости от того, что вы с ним делаете. Соединение может быть уместным, но на самом деле это зависит от того, что представляет собой другая таблица, как она связана с первой таблицей и как вам нужно ее использовать.

Don't Panic 18.01.2019 23:51
public function listar(){
   $users = //Your user model class ::all();
   return $users;
}

Тогда попробуйте просмотреть

@foreach ($users as $u)
<tr>
    <td>{{ $u->name }}</td>
    <td>{{ $u->email }}</td>
    <td>{{ $u->phone}}</td>
</tr>

@endforeach

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