Php Laravel for loop一个索引数组,该数组来自我的数据库中的一个列,位于刀片模板中的forelse中

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

我在forelse循环中有一个for循环,它将显示results列中的索引数组,该列将数组保存在DB中

这就是我存储阵列的方式

$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