menampilkan isi field berdasarkan masing-masing id di tabel dengan laravel

Selamat pagi,
Saya ingin menampilkan isi database berdasarkan masing-masing id yang ada di tabel database, namun saya kesulitan untuk menampilkan berdasarkan masing-masing id nya.. tolong bantuannya. terimakasih


ini Controller nya 
public function index()
    {
        $kriterias=Kriteria::all();
        $nilaikriterias = NilaiKriteria::all();
        return view('admin.analisa_kriteria.index',compact('nilaikriterias','kriterias'))
        ->with('i', (request()->input('page', 1) - 1) * 10);
    } 

ini view nya
 
<table class="table table-centered table-hover mb-0">
<tbody>
<tr>
<th><b>Kriteria</b></th>
@foreach ($nilaikriterias as $items)
<th> {{ $items->kriteria_pertama_id }} / {{ $items->kriteria_pertama_id }}</th> @endforeach </tr> @foreach ($nilaikriterias as $items1) <tr> <td> <h5 class="font-14 mb-1 font-weight-normal">{{ $items1->kriteria_kedua_id }} / {{ $items1->kriteria_kedua_id }}</h5> </td> @if (count($nilaikriterias)) @foreach ($nilaikriterias as $itemsss) @if($items->kriteria_pertama_id == $items1->kriteria_pertama_id and $items->kriteria_kedua_id == $items1->kriteria_kedua_id) <td> <h5 class="font-14 mb-1 font-weight-normal"> {{$itemsss->value}}</h5> </td> @else <td>0</td> @endif @endforeach @endif </tr> @endforeach </tbody> </table>

ini tampilan saat ini
tampilan-form.jpgtampilan form.jpg
ini model kriteria
public function nilaikriteria()    
{        
return $this->hasMany(Alternatif::class,'kriteria_pertama_id','id');    
}

ini model nilai_kriteria
public function kriteria()    
{        
return $this->belongsTo(Kriteria::class);    
}

saya inginnya nilai 1 jika kode nya 45 maka akan tampil dibaris kode 45 dan kolom 45... jika kode nya 46 maka data dengan nilai 1 akan tampil dibaris 46 dan kolom 46 dan begitu seterusnya.... terimakasih
avatar bgpoels

@bgpoels

29 Kontribusi 2 Poin


Jawaban

Karena bagian ini
@if($items->kriteria_pertama_id == $items1->kriteria_pertama_id and $items->kriteria_kedua_id == $items1->kriteria_kedua_id) 

$items nya mengambil data di luar for loop yang ada di tempatnya sekarang.
Kalau kita liat dengan diperjelas
@foreach ($nilaikriterias as $items)
   $items->kriteria_pertama_id / $items->kriteria_pertama_id
@endforeach

@foreach ($nilaikriterias as $items1)
  $items1->kriteria_kedua_id / $items1->kriteria_kedua_id

  @if (count($nilaikriterias))
    @foreach ($nilaikriterias as $itemsss) 
      //$noh kan.. yang ada di loop ini cuman $items1 dan $itemsss
      @if($items->kriteria_pertama_id == $items1->kriteria_pertama_id and $items->kriteria_kedua_id == $items1->kriteria_kedua_id)                                            
        $itemsss->value
      @else                                            
        0                                           
      @endif                                            
    @endforeach                                            
  @endif                                                                               
@endforeach  

Lalu kenapa 47/47 berisi value nya??
Karena value variabel di template tag nya gak kereset.

Dia ini mengambil loop terakhir dari
// $nilaikriterias nya isinya setidaknya kayak gini 
// [ 
//   ['kriteria_pertama_id' => '45'], 
//   ['kriteria_pertama_id' => '46'], 
//   ['kriteria_pertama_id' => '47'] 
// ]
@foreach ($nilaikriterias as $items)
   $items->kriteria_pertama_id / $items->kriteria_pertama_id
@endforeach

// Jadi isi terakhir $items nya itu ['kriteria_pertama_id' => '47'] 
avatar GrennKren

@GrennKren

61 Kontribusi 45 Poin


makasih atas masukkannya bang @GrennKren
solved....
ini script yang benar nya
<table class="table table-centered table-hover mb-0">
<tbody>                                        
<tr>                                            
<th><b>Kriteria</b></th>                                            
@foreach ($nilaikriterias as $items)                                            
<th>{{$items->kriteria_pertama_id}}</th>
@endforeach                                        
</tr>                                        
@foreach ($nilaikriterias as $items1)                                        
<tr>                                            
<td>{{ $items1->kriteria_kedua_id }} / {{ $items1->kriteria_kedua_id }}</td>
@foreach ($nilaikriterias as $itemsss)                                            
@if($items1->kriteria_pertama_id == $itemsss->kriteria_pertama_id and $items1->krkteria_kedua_id == $itemsss->krkteria_kedua_id)                                            
<td>{{$itemsss->value}}</td>                                            
@else                                            
<td>0</td>                                            
@endif                                            
@endforeach                                        
</tr>                                        
@endforeach                                        
</tbody>                                    
</table>


ini tampilan setelah diperbaiki berdasarkan masukan bang @GreennKren
hasil.jpghasil.jpg

Terimakasih bg.... @GreennKren 
avatar bgpoels

@bgpoels

29 Kontribusi 2 Poin


Login untuk gabung berdiskusi