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






Простое использование find вот так
$name = User::find($id)->name;
Или прямо с авторизации
$name = \Auth::user()->name;
Чтобы войти в систему с идентификатором пользователя, вы можете использовать \Auth::id()
это становится пустой страницей @ C2486
проверьте свой файл журнала внутри laravel.log
ваша переменная имени представляет собой массив, содержащий единственный объект с атрибутом NAME .. поэтому для отображения этого значения вы должны изменить свой скрипт на
<h2>{{name[0]['NAME']}}</h2>
ты можешь использовать:
$user_id = User::findOrFail($id)->first();
$name=$user_id->name;
проверьте файл журнала laravel: \ Log :: info ($ name);
СУХОЙ Кодовая строка №1 и №2. простое использование:
$ name = auth () -> пользователь () -> имя;
чтобы получить имя текущего аутентифицированного пользователя.
Отправить $ name на ваш просмотр в порядке
$ pdf = PDF :: loadView ('generatePDF', ['name' => $ name]);
Исправьте свой код в файле лезвия
{{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>
используйте {{Auth :: user () -> name}} в лезвии.