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

2016-03-09 00:01:53 +08:00
 ren2881971

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

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

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

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

3477 次点击
所在节点    PHP
9 条回复
ren2881971
2016-03-09 08:43:07 +08:00
where()->get()
where()->first()
view()->withXXX
view('xxx,compact('xxx'))
这些传递到 view 的数据 都应该怎么显示???
这些数据都是什么形式?
希望熟悉 laravel 的 指点下~
sunjourney
2016-03-09 09:23:20 +08:00
blade:

@foreach($person as $p)
{{ $p["id"] }}
@endforeach

各种值你可以用调度工具、 dd 或者 var_dump 一下看看。
ren2881971
2016-03-09 09:28:36 +08:00
@sunjourney 感谢回复~ 我用 var_dump 看了。
感觉就是个数组~
那我可以理解为 通过 view 函数传递到 前台的变量都是数组么???
vidon
2016-03-09 10:13:56 +08:00
@ren2881971 用 get()方法返回的是数组, first()方法是获取数组的第一个值
ren2881971
2016-03-09 10:19:11 +08:00
@vidon 通过 blade 显示在 view 的话 是不是只能用 2L 的写法?
我的意思是 非得循环个数组? 我传递到前台的数据如果不是数组 是个对象。
那还循环 有点麻烦啊。
dawniii
2016-03-09 10:45:47 +08:00
@ren2881971 你前台要什么取决于你用 get 和 first
ren2881971
2016-03-09 10:57:08 +08:00
@dawniii 额。。 比如我用 first 呢?
dawniii
2016-03-09 11:49:38 +08:00
@ren2881971 get 取出来就是多维的(需要循环) first 取出来就是一维的。

难道你不知道你自己需要的数据是 list 还是单条的?
ren2881971
2016-03-09 13:20:24 +08:00
@dawniii 懂了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/262047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX