【发布时间】:2017-04-05 17:17:53
【问题描述】:
我为如何访问嵌套对象而苦苦挣扎。
$dt = Carbon::parse($year.'-'.$month.'-1');
$godziny = array();
$gs = $lekarz->od;
$gz = $lekarz->do;
$ile = $gz-$gs;
for($j=0; $j<4*$ile; $j++){
if($j%4==0){
$wm = "00";
}
else{
$wm = ($j%4)*15;
}
if($gs+floor(($j/4)) < 10){
$dz="0".$dz = $gs+floor(($j/4));
} else{
$dz = $gs+floor(($j/4));
}
$godziny[$j]['godzina'] = $dz;
$godziny[$j]['minuty'] = $wm;
if(!empty(Kolejka::where('data', 'LIKE', $year.'-'.$month.'-'.$day.' '.$dz.':'.$wm.'%')->get())){
$godziny[$j]['odbyta'] = Kolejka::where('data', 'LIKE', $year.'-'.$month.'-'.$day.' '.$dz.':'.$wm.'%')->get();
dd(get_object_vars($godziny[$j]['odbyta']));
// $godziny[$j]['pacjent'] = Pacjent::where('id', '=', $godziny[$j]['odbyta']->{0}->pacjent_id);
} else {
$godziny[$j]['odbyta'] = '';
}
}
除最后一部分外,一切正常。似乎我尝试以任何方式访问这些数据(通过使用 $godziny[$j]['odbyta']['pacjent_id'] 或通过 $godziny[$j]['odbyta']->pacjent_id)它刚刚赢了不行。我真的不知道该怎么办。
这是我的 [$j]['odbyta] 数据:
{
"id": 1,
"pacjent_id": "13",
"lekarz_id": "1",
"data": "2017-04-05 10:15:00",
"odbyta": "0",
"created_at": "2017-04-05 16:14:42",
"updated_at": "2017-04-05 16:14:42"
}
即生成具有模式的数据的代码: $j 的最大数量是 36
$godziny[0]['godzina'] = $dz //That's for setting hour to array
$godziny[0]['godzina'] = $wm; //That's for assigning minutes
$godziny[0]['odbyta'] <- that's of value of object that i listed above
我怎样才能访问这个对象的数据? 所以 $godziny[0]['odbyta'] 可以给我它包含的对象的值吗?
【问题讨论】:
-
我们需要更多信息,您发布的数据是您对其进行了 json_encode,还是原生如此?
-
Laravel 默认将所有内容编码为 json。您具体需要哪些数据?
-
这就是它不起作用的原因,您需要在存储或阅读时
json_decode()它。 -
我误解了它是如何工作的。这不是json。一切正常。我可以显示这个对象,但我无法访问它的任何数据:x
-
很难确定问题出在哪里,您没有提供足够的代码。
$j是怎么设置的?看起来像是某种迭代器变量。