为何环路我只作生产一个值?

问题描述 投票:2回答:2

我想显示jawaban的阵列,但只有一个产生第一值

public static function GetUserSoal($id)
{
    $model = Soal::where('cluster_id', $id)->inRandomOrder()->limit(500)->get();

    return view('components.User.showexam', compact('model'));
}

这是刀片文件:

@for ($i = 0; $i < count($model); $i++)            
    <form action="/jawaban/store/{{$model[$i]->id}}" method="post" enctype="multipart/form-data"> 
    @csrf
        <table id="datatable" style="width:100%">
        <tbody>           
            <tr>{{$i+1}}. </tr>
            <tr>{{$model[$i]->soal}}</tr>
            <ol type="A" style="">
                <li> {{$model[$i]->A}}</li>
                <li> {{$model[$i]->B}}</li>
                <li> {{$model[$i]->C}}</li>
                <li> {{$model[$i]->D}}</li>
                <li> {{$model[$i]->E}}</li>
            </ol>
        <input list="browsers" name="jawaban[{{$model[$i]->id}}]">
            <datalist id="browsers">
              <option value="A">
              <option value="B">
              <option value="C">
              <option value="D">
              <option value="E">
            </datalist>
        @endfor
            <br>
            <br>
            <button type="submit" class="btn btn-primary text-right" id="modal-btn-save-jwb">Done</button>
    </form>

控制器:

public function GetUserJawaban($id, Request $request)
{   

    $score = 0;
    foreach($request->jawaban as $key => $value){
            return "Urutan ke-$key adalah $value";
    }

}

enter image description here

当我添加喜欢它上面的图片jawaban值只显示“Urutan KE-29阿达拉赫B”,是有什么错我的代码?

php mysql arrays laravel
2个回答
1
投票

问题是在这个函数。改变返回的回声。返回停在第一次迭代中执行和退出功能。

public function GetUserJawaban($id, Request $request)
{   

    $score = 0;
    foreach($request->jawaban as $key => $value){
            echo "Urutan ke-$key adalah $value";
    }

}

然而,你可能不得不做出您使用此功能,避免双重回声问题的微小变化。希望能帮助到你。


2
投票

如果你写一个函数返回,这将结束所有的处理并返回一个值。

所以回来以后一切都将不被执行..

© www.soinside.com 2019 - 2024. All rights reserved.