Как отображать имя из базы данных в laravel

я хочу отображать данные из моей базы данных

контролер

public function generatePDF(Request $request)
{
    $id = Auth::user()->id;
    $name = User::select("NAME")->where("id", $id)->get();
    $pdf = PDF::loadView('generatePDF', ['name'=>$name]);
    return $pdf->stream('generatePDF.pdf');
}

лезвие

<h2>{{name}}</h2>

результат

[{"NAME":"name_from_database"}]

Могу ли я отобразить без [{"name":}], просто значение данных (name_from_database)?

используйте {{Auth :: user () -> name}} в лезвии.

Faizan Fayaz 03.08.2018 06:08

ваша переменная name представляет собой массив, содержащий единственный объект с атрибутом NAME .. поэтому для отображения этого значения вы должны изменить свой скрипт на <h2>{{name[0]['NAME']}}</h2>

Demonyowh 03.08.2018 06:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
818
7

Ответы 7

Простое использование find вот так

$name = User::find($id)->name;

Или прямо с авторизации

 $name  = \Auth::user()->name;

Чтобы войти в систему с идентификатором пользователя, вы можете использовать \Auth::id()

это становится пустой страницей @ C2486

Aldi Rostiawan 03.08.2018 06:13

проверьте свой файл журнала внутри laravel.log

Niklesh Raut 03.08.2018 06:57

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

<h2>{{name[0]['NAME']}}</h2> 

ты можешь использовать:

$user_id = User::findOrFail($id)->first();
$name=$user_id->name;

проверьте файл журнала laravel: \ Log :: info ($ name);

  1. Используйте first () вместо get (), потому что get () вернет массив, а first () вернет объект.
  2. СУХОЙ Кодовая строка №1 и №2. простое использование:

    $ name = auth () -> пользователь () -> имя;

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

  3. Отправить $ name на ваш просмотр в порядке

    $ pdf = PDF :: loadView ('generatePDF', ['name' => $ name]);

  4. Исправьте свой код в файле лезвия

    {{name}} -> {{$ name}}

    Надеюсь, это может вам помочь. :)

Привет, Алди Ростиаван,

$nameGet = User::select("NAME")->where("id", $id)->get();
$nameFirst = User::select("NAME")->where("id", $id)->first();

Здесь в обеих строках кода разница только в Get и First.

Get метод возвращает Array of objects. Так, например, если запрос применяется ко многим записям, тогда код предоставит вам много объектов в массиве. Или, если запрос будет истинным только для одной записи, он также вернет массив с одним объектом.

Если вы знаете, что id является первичным ключом таблицы, тогда будет выбрана только одна запись, тогда вы можете использовать функцию First вместо метода Get.

Функция First всегда возвращает Object. В случае, если запрос применяется ко многим записям, тогда также первый метод вернет вам только первую запись как объект.

И похоже, что вам нужен только объект.

Вы должны попробовать это:

Контроллер

public function generatePDF(Request $request)
{
    $id = Auth::user()->id;
    $rsltUser = User::where("id", $id)->first();
    $pdf = PDF::loadView('generatePDF', ['rsltUser'=>$rsltUser]);
    return $pdf->stream('generatePDF.pdf');
}

лезвие

<h2>{{$rsltUser->name}}</h2>

используйте VALUE () только для отображения имени.

в твоем случае:

<h2>{{$rsltUser->value('name')}}</h2>

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