How can I make the code in the view file with PHP and Laravel more clear?

I was trying to show a result from the MySQL database using PHP and Laravel.

This is my Controller code

public function index()
{
    $assessments = DB::table('assessments')
        ->join('questions', 'questions.assessment_id', '=', 'assessments.id')
        ->join('answers', 'answers.question_id', '=', 'questions.id')
        ->select('*')
        ->get();

    return view('assessment_submission.index', ['resultSQL' => $assessments]);
}

The Controller code is working for me. The code below is my view:

@foreach($resultSQL as $row)
    <div class="card" style="">
        <div class="card-body">
            <h5 class="card-title">{!! $row->assesment_name !!}</h5>
            <h5 class="card-title">{!! $row->question !!}</h5>
            <h5 class="card-title">{!! $row->answer !!}</h5>
        </div>
    </div>
@endforeach

But I need to create a select element with this code and I change the code a little to be able to do that.

So, I modify the Controller:

public function index()
{
    $assessments = DB::table('assessments')
        ->join('questions', 'questions.assessment_id', '=', 'assessments.id')
        ->join('answers', 'answers.question_id', '=', 'questions.id')
        //->join('answers')
        ->select('*')
        ->get();

    $resultado_json = json_decode(json_encode($assessments), true);
    $resultado_em_pedacos = array_chunk($resultado_json, 4);

    return view('assessment_submission.index', ['resultSQL' => $assessments, 'resultado_em_pedacos' => $resultado_em_pedacos ]);
}

And I change the part of the view that shows the result:

@for ($i = 0; $i < count($resultado_em_pedacos); $i++)
    <p>
        {!! $resultado_em_pedacos[$i][0]["question_content"] !!}
        <select name="{{$i}}" id="{{$i}}">
        @for ($j = 0; $j < count($resultado_em_pedacos[0]); $j++)
                <option value="volvo">{!! $resultado_em_pedacos[$i][$j]["answer_text"] !!}</option>
        @endfor
        </select>
    </p>
@endfor

All code is working, but I think the view file(index.blade.php) is not clean.

How can I make this code cleaner?

Answer

Solution:

If you sort out the indentation and use foreach instead, your view code becomes a bit more readable.

@foreach ($resultado_em_pedacos as $resultado_em_pedaco)
    <p>
        {!! $resultado_em_pedaco[0]["question_content"] !!}

        <select name="{{$i}}" id="{{$i}}">
            @foreach ($resultado_em_pedaco as $resultado)
                <option value="volvo">
                    {!! $resultado["answer_text"] !!}
                </option>
            @endforeach
        </select>
    </p>
@endforeach

The variable names I used might be incorect, I don't speak Spanish.

Source