我使用的是Laravel 4.2。我有两个mysql表OwnTable,OtherTable。我通过php从这些表中成功获取值。
我的进一步PHP代码如下所示,在blade php中显示值,
if (!empty ($OwnTable)){
foreach($OwnTable as $owntbl){
$Finalvalue['OwnValue']['Name'] = $owntbl->Name;
}
}
if (!empty ($OtherTable)){
foreach($OtherTable as $othertbl){
$Finalvalue['OtherValue']['Name'] = $othertbl->Name;
}
}
$myData = array('Finalvalue' => $Finalvalue);
if(.....) {
return View::make('display')->with('myData', $myData);
}
display.blade中的代码如下所示,
<tbody>
@foreach($myData['Finalvalue'] as $res)
<tr>
<td>{{{$res['OwnValue']['Name']}}}</td>
<td>{{{$res['OtherValue']['Name']}}}</td>
</tr>
@endforeach
</tbody>
当我尝试运行代码时,它会出现错误&#39; Undefined index:OwnValue&#39;。
我确信我在数组处理方面犯了一些错误。我在阵列处理方面不是很有天赋。非常感谢有人建议我这个。谢谢: - )
答案 0 :(得分:1)
根据经验,使用var_dump
调试并查看代码中不同位置的数组的外观。例如,你可以看到$res
在视图中的foreach循环中的样子,看看为什么你有任何未定义的索引。
总的来说,你的代码看起来有点复杂,但我会把它放在一边。你正在为同一个键设置不同的值,添加空括号表示你要将新值推送到数组:
foreach($OwnTable as $owntbl){
$Finalvalue['OwnValue']['Name'][] = $owntbl->Name;
}
您甚至可以使用旧密钥(如果重要):
foreach($OwnTable as $key => $owntbl){
$Finalvalue['OwnValue']['Name'][$key] = $owntbl->Name;
}
请注意,Blade在视图中只需要两对大括号(目前您有3对)。
所以是的,使用var_dump
跟踪数组的状态,找出出错的地方。