我想显示数据库中的数据
控制器
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)吗?
答案 0 :(得分:0)
像这样简单使用find
$name = User::find($id)->name;
或直接从auth
$name = \Auth::user()->name;
要登录,请使用\Auth::id()
答案 1 :(得分:0)
您可以使用:
$user_id = User::findOrFail($id)->first();
$name=$user_id->name;
测试laravel日志文件: \ Log :: info($ name);
答案 2 :(得分:0)
DRY代码行1和2。简单使用:
$ name = auth()-> user()-> name;
获取当前已验证用户的名称。
将$ name发送给您查看很好
$ pdf = PDF :: loadView('generatePDF',['name'=> $ name]);
在刀片文件中更正代码
{{name}}-> {{$ name}}
我希望这会对您有所帮助。 :)
答案 3 :(得分:0)
你好Aldi Rostiawan,
$nameGet = User::select("NAME")->where("id", $id)->get();
$nameFirst = User::select("NAME")->where("id", $id)->first();
在这两行代码中,差异仅是Get
和First
。
Get
方法返回一个Array of objects
。因此,例如,如果查询适用于许多记录,则代码将为您提供数组中的许多对象。或者,如果查询仅对一条记录为真,则它还将返回带有一个对象的数组。
如果您知道id是该表的主键,那么仅将提取一条记录,那么如果使用Get方法,则可以使用First
函数。
First
函数始终返回Object
。如果查询适用于许多记录,则first方法也将仅将第一条记录作为对象返回。
似乎您只需要一个对象。
答案 4 :(得分:0)
您应该尝试以下操作:
控制器
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>
答案 5 :(得分:0)
使用 VALUE() 仅显示名称。
在你的情况下:
<h2>{{$rsltUser->value('name')}}</h2>
答案 6 :(得分:-1)
您的名称变量是一个包含单个对象的数组,该对象具有NAME属性..要显示该值,您应该将脚本更改为
<h2>{{name[0]['NAME']}}</h2>