Php Laravel for loop一个索引数组,该数组来自我的数据库中的一个列,位于刀片模板中的forelse中
我在forelse循环中有一个for循环,它将显示results列中的索引数组,该列将数组保存在DB中 这就是我存储阵列的方式Php Laravel for loop一个索引数组,该数组来自我的数据库中的一个列,位于刀片模板中的forelse中,php,arrays,laravel,laravel-5,Php,Arrays,Laravel,Laravel 5,我在forelse循环中有一个for循环,它将显示results列中的索引数组,该列将数组保存在DB中 这就是我存储阵列的方式 $final_result = ResultRecordFile::create([ 'request_id' => $request->id, 'date_released' => $date, 'lab_access_code' => $input['lab_access
$final_result = ResultRecordFile::create([
'request_id' => $request->id,
'date_released' => $date,
'lab_access_code' => $input['lab_access_code'],
'remarks' => $input['remarks'],
'results' => json_encode($input['results']) // Stores array in the column
]);
现在,我将使用blade检索视图中的所有这些数据
当我在results字段中使用json\u decode时,数据库中的数组与此完全相同
[
"Result1",
"Result2",
]
这就是我到目前为止所做的
@forelse ($result->request->methodology->submethods as $submethod)
<ul>
<li>
<b>{{ $submethod->name }}</b> result is
@foreach(json_decode($result->results) as $value)
{{ $value }}
@endforeach
</li>
</ul>
@empty
<p>This request has no submethods</p>
@endforelse
我还尝试了以下代码:
@forelse ($result->request->methodology->submethods as $submethod)
<ul>
<li>
<b>{{ $submethod->name }}</b> result is
@for($i=0; $i < count($result->results); $i++)
{{ $result->results[$i]}}
@endfor
</li>
</ul>
@empty
<p>This request has no submethods</p>
@endforelse
输出应如下所示:
Test result for this sub method result is Result1
Test result for this sub method result is Result2
这里的问题是,它返回数组的整个值,它应该返回存储在数据库中的数组的每个值
如果有人能帮忙,我将不胜感激。
提前感谢。试试这个:
@forelse ($result->request->methodology->submethods as $submethod)
<ul>
@foreach(json_decode($result->results) as $value)
<li>
<b>{{ $submethod->name }}</b> result is
{{ $value }}
</li>
@endforeach
</ul>
@empty
<p>This request has no submethods</p>
@endforelse
@forelse($result->request->methodology->submethods as$submethod)
@foreach(json_解码($result->results)为$value)
-
{{$submethod->name}}结果为
{{$value}}
@endforeach
@空的
此请求没有子方法
@endforelse
这可能适合您
$result_datas = json_decode($result->results);
$index = 0;
@forelse ($result->request->methodology->submethods as $submethod)
<ul>
<li>
<b>{{ $submethod->name }}</b> result is
@if(isset($result_datas[$index]))
{{ $result_datas[$index] }}
@endif
<?php $index++;?>
</li>
</ul>
@empty
<p>This request has no submethods</p>
@endforelse
$result\u data=json\u decode($result->results);
$index=0;
@forelse($result->request->methodology->submethods作为$submethod)
-
{{$submethod->name}}结果为
@if(isset($result_data[$index]))
{{$result_data[$index]}
@恩迪夫
@空的
此请求没有子方法
@endforelse
现在它复制了子方法名称,或者循环了两次,但是结果的值被循环或很好地迭代。这是示例或输出:此子方法的测试结果1结果是Result1此子方法的测试结果1结果是Result2此子方法的测试结果2结果是Result1此子方法的测试结果2结果是Result2
您可以分享如何检索$result->request->methodology->submethods
@jayzdeverat这是数据:App\Models\SubMethodologies{1297id:3,名称:“单元测试”,创建于:“2018-04-04 16:42:08”,更新于:“2018-04-04 16:42:08”,pivot:light\Database\Eloquent\Relations\pivot{1278方法论id:1,子方法论id:3,创建于:“2018-04-04 16:42:08”,更新于:“2018-04-04 16:42:08”,
您希望如何显示数据而不是此子方法的测试结果1结果是Result1此子方法的测试结果1结果是Result2此子方法的测试结果2结果是Result1此子方法的测试结果2结果是Result2
应该是这样的:此子方法的测试结果1结果是Result1此子方法的测试结果2结果是Result2
很抱歉解释不好谢谢!很好!感谢您的时间。感谢它很高兴它能工作,尽管没有测试它,也谢谢您:)@SoHelp0415只是一个建议,将isset
添加到{$result\u数据[$index]}
将避免任何崩溃:)@JayzdeVera可能forelse
中的ul
应该在forelse
之外,只有li
应该添加到循环中才能有一个列表
@forelse ($result->request->methodology->submethods as $submethod)
<ul>
@foreach(json_decode($result->results) as $value)
<li>
<b>{{ $submethod->name }}</b> result is
{{ $value }}
</li>
@endforeach
</ul>
@empty
<p>This request has no submethods</p>
@endforelse
$result_datas = json_decode($result->results);
$index = 0;
@forelse ($result->request->methodology->submethods as $submethod)
<ul>
<li>
<b>{{ $submethod->name }}</b> result is
@if(isset($result_datas[$index]))
{{ $result_datas[$index] }}
@endif
<?php $index++;?>
</li>
</ul>
@empty
<p>This request has no submethods</p>
@endforelse