• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

请教 laravel view 怎么显示 controller 中传递的对象值。

php 搞代码 4年前 (2022-01-25) 13次浏览 已收录 0个评论
文章目录[隐藏]

Controller 代码:

<code>public function show(Request $request,$id){$person = DB::table('persons')->where('id',$id)->get();return view('showuser',compact('person'));}</code>

我在 view/showuser.blade.php 怎么写才能显示出 person 这个对象的值?

必须这么写才行 {{ $person[0]->id }} ???

感觉这样显示的值是个数组啊。 不是对象啊。

view()->withXXX
view(‘xxx,compact(‘xxx’))
这些传递到 view 的数据 都应该怎么显示???
这些数据都是什么形式?
希望熟悉 laravel 的 指点下~

回复内容:

Controller 代码:

<code>public function show(Request $request,$id){$person = DB::table('persons')->where('id',$id)->get();return view('showuser',compact('person'));}</code>

我在 view/showuser.blade.php 怎么写才能显示出 person 这个对象的值?

必须这么写才行 {{ $person[0]->id }} ???

感觉这样显示的值是个数组啊。 不是对象啊。

view()->withXXX
view(‘xxx,compact(‘xxx’))
这些传递到 view 的数据 都应该怎么显示???
这些数据都是什么形式?
希望熟悉 laravel 的 指点下~

<code>$person = DB::table('persons')->where('id',$id)->get();</code>

这句其实是从 Builder 对象中取回一个 Collection 对象,而该 Collection 对象中包含了 Person 对象。Collection 实现了数组相关的接口,所以也可以使用访问数组的方式获取 Person 对象。

如果想通过 id 直接获取 Person 对象,可以使用 find 方法:

<code>$person = DB::table('person')->find($id);</code>

Blade 中可以使用 @for、@foreach 或 @forelse 等遍历对象集合,再显示对象的属性值:

<code>@forelse($persons as $person)    <li> {{ $person->name }} </li>@empty    <span>Nothing.</span>@endforelse</code>

对于单个对象自然直接访问即可:

<code>Hello, {{ $person->name }} !</code>

楼主既然写了获取某个ID的用户,那根本用不到 foreach 了吧。只获取一个用户的可以直接用 first() 方法:

<code>$person = DB::table('persons')->where('id',$id)->first();// Or$person = DB::table('persons')->where('id',$id)->firstOrFail();</code>

这样的话在 view 中可以直接 $person->name 来显示,而不用 $person[0]->name 了。

你需要@foreach

@本文来源gaodaimacom搞#代%码@网-搞代gaodaima码

楼上正解

<code>@foreache($person as $temp) {$temp->foo}@endforeach</code>

你查询出来的数据形式可以试着

<code>dd();</code>

laravel中传递的数据一般都为JSON数组形式

同在学习laravel,如有错误的地方欢迎指出


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:请教 laravel view 怎么显示 controller 中传递的对象值。

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址