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 }}
???
感觉这样显示的值是个数组啊。 不是对象啊。
解决了 通过用 Eloquent ORM 达到我想要的方式了。
同样是从数据库中取值 三种方式:
1.直接利用 DB 查询 fisrt()
$person = DB::table('person')->where('id,$id)->first()
2.直接利用 DB 查询 get()
$person = DB::table('person')->where('id,$id)->get()
3.通过 orm 方式
先创建 Person model 然后
$person = Person::findOrFail($id);
view('showuser',compact('person'));
那么在 showuser.blade.php 中
1 和 3 是直接用 {{ $person->FirstName }}
2 的话 需要循环数组或者直接取数组第一个值 {{ $person[0]->FirstName }}
我可以理解为 first() 和 orm 得到的都是对象可以直接通过调用对象中属性的方式 来获取数据。
而 get()得到的是数组。 所以得先取数组的值 然后在通过调用属性获取数据是么。。。
刚开始玩 php 6 不起来啊
1
ren2881971 OP where()->get()
where()->first() view()->withXXX view('xxx,compact('xxx')) 这些传递到 view 的数据 都应该怎么显示??? 这些数据都是什么形式? 希望熟悉 laravel 的 指点下~ |
2
sunjourney 2016-03-09 09:23:20 +08:00
|
3
ren2881971 OP |
4
vidon 2016-03-09 10:13:56 +08:00
@ren2881971 用 get()方法返回的是数组, first()方法是获取数组的第一个值
|
5
ren2881971 OP |
6
dawniii 2016-03-09 10:45:47 +08:00
@ren2881971 你前台要什么取决于你用 get 和 first
|
7
ren2881971 OP @dawniii 额。。 比如我用 first 呢?
|
8
dawniii 2016-03-09 11:49:38 +08:00
|
9
ren2881971 OP @dawniii 懂了。
|