Php Laravel-意外输出,含DB
我有个奇怪的问题。 我已经动态创建了表。这就是我使用DB的原因Php Laravel-意外输出,含DB,php,laravel,types,Php,Laravel,Types,我有个奇怪的问题。 我已经动态创建了表。这就是我使用DB的原因 $spec = DB::table($specjalizacja)->where('pacjent_id','=', $pid)->orderBy('created_at')->get(); 它返回一个数组集合: dd($spec): Collection {#257 ▼ #items: array:2 [▼ 0 => {#262 ▼ +"id": "3" +"pacje
$spec = DB::table($specjalizacja)->where('pacjent_id','=', $pid)->orderBy('created_at')->get();
它返回一个数组集合:
dd($spec):
Collection {#257 ▼
#items: array:2 [▼
0 => {#262 ▼
+"id": "3"
+"pacjent_id": "1"
+"wizyta_id": "5"
+"a": "111"
+"b": "abcdefg"
+"c": "3"
+"created_at": "2017-05-15 14:41:53"
+"updated_at": "0000-00-00 00:00:00"
}
1 => {#254 ▼
+"id": "4"
+"pacjent_id": "1"
+"wizyta_id": "6"
+"a": "2222222"
+"b": "ddddddddd"
+"c": "3"
+"created_at": "2017-05-15 14:41:58"
+"updated_at": "0000-00-00 00:00:00"
}
]
}
问题在于它与模型实例返回的数据类型不同。F.e
$wizyty = Kolejka::where('data','LIKE',$dzis.'%')->where('odbyta','=','0')->where('lekarz_id','=',session('id'))->orderBy('data')->get();
dd($poprzednia):
Collection {#264 ▼
#items: array:2 [▼
0 => Kolejka {#274 ▼
+fillable: array:30 [▶]
#connection: "mysql"
#table: null
#primaryKey: "id"
#keyType: "int"
+incrementing: true
#with: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:10 [▼
"id" => "5"
"lekarz_id" => "1"
"pacjent_id" => "1"
"data" => "2017-05-15 11:00:00"
"odbyta" => "1"
"leki" => null
"uwagi" => null
"specjalizacja" => "1"
"created_at" => "2017-05-15 09:52:18"
"updated_at" => "2017-05-15 09:52:33"
]
#original: array:10 [▶]
#casts: []
#dates: []
#dateFormat: null
#appends: []
#events: []
#observables: []
#relations: []
#touches: []
+timestamps: true
#hidden: []
#visible: []
#guarded: array:1 [▶]
}
1 => Kolejka {#275 ▶}
]
}
现在在我看来,我可以这样做:
@foreach($poprzednia as $pw)
{{$pw}}
@endforeach
但如果我这样做了
@foreach($spec as $sp)
{{$sp}}
@endforeach
或者任何类似于尝试通过执行$sp[0]来获取值的操作,或者任何基本上不成功的操作,最终导致错误htmlspecialchars()期望参数1是字符串,给定对象
{{$spec}}视图中:(不工作)
{{$poprzednia}}在视图中(有效)
您正在尝试使用php
json\u decode()的函数吗?
您只需要执行以下操作:
{{ json_decode($spec) }}
还是在前台
@foreach($spec as $sp)
{{ json_decode($sp) }}
@endforeach
您正在尝试使用php
json\u decode()的函数吗?
您只需要执行以下操作:
{{ json_decode($spec) }}
还是在前台
@foreach($spec as $sp)
{{ json_decode($sp) }}
@endforeach
对于两个输出,访问循环中的集合对象的方式相同
@foreach($spec as $sp)
{{ $sp->id }}
@endforeach
对于两个输出,访问循环中的集合对象的方式相同
@foreach($spec as $sp)
{{ $sp->id }}
@endforeach
尝试
dd($sp[0]->a)
这里的不同:DB::table($specjalizacja)
和Kolejka::where
。一个是DB查询,另一个是Larvel查询生成器,用于dd($sp[0]->a)
这里的不同之处:DB::table($specjalizacja)
和Kolejka::where
。一个是DB查询,另一个是Laravel查询构建器,它似乎工作得很好。我现在的问题是,如果我不知道列的名称,我怎么可能访问所有这些数据?我能把它全部打印出来吗?或者通过索引访问它?试试{{{$sp->all()}}
,它似乎工作得很好。我现在的问题是,如果我不知道列的名称,我怎么可能访问所有这些数据?我能把它全部打印出来吗?或者通过索引访问它?试试{{{$sp->all()}}
这很奇怪。您是否可以尝试使用此函数将集合转换为数组$spec->toArray()
,这很奇怪。您能否尝试使用此函数将集合转换为数组$spec->toArray()