Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Cara Passing data dari Model ke Controller dan ditampilkan di view laravel
ini controller yang saya buat
public function ledger($id)
{
$kelas = Kelas::find($id);
$mapel = Mapel::all();
$siswa = Siswa::find($id);
return view('nilai.ledger', ['siswa' => $siswa, 'mapel' => $mapel, 'kelas' => $kelas]); }
ini model mapel
public function kelas()
{
return $this->belongsTo(Kelas::class, 'kelas_id');
}
public function siswa()
{
return $this->belongsToMany(Siswa::class)->withPivot(['pa', 'pp', 'ka', 'kp']);
}
ini model siswa
public function kelas()
{
return $this->belongsTo(Kelas::class);
}
public function mapel()
{
return $this->belongsToMany(Mapel::class)->withPivot(['pa', 'pp', 'ka', 'kp']);
}
dan ini model kelas
public function siswa()
{
return $this->hasMany(Siswa::class);
}
public function mapel()
{
return $this->hasMany(Kelas::class);
}
ini viewnya
<table class="table table-bordered">
<thead class="table-success">
<tr>
<th rowspan="3" style="text-align: center">No</th>
<th rowspan="3" style="text-align: center">Nama Siswa</th>
<th colspan="20" style="text-align: center">Nilai Tiap Mata Pelajaran</th>
<th rowspan="3" style="text-align: center">Jumlah</th>
<th rowspan="3" style="text-align: center">Rata-Rata</th>
</tr>
<tr>
<th colspan="2" style="text-align: center">IPA</th>
<th colspan="2" style="text-align: center">IPS</th>
<th colspan="2" style="text-align: center">MTK</th>
<th colspan="2" style="text-align: center">PAI</th>
<th colspan="2" style="text-align: center">PENJAS</th>
<th colspan="2" style="text-align: center">B.ING</th>
<th colspan="2" style="text-align: center">B.ARB</th>
<th colspan="2" style="text-align: center">B.IND</th>
<th colspan="2" style="text-align: center">BMR</th>
<th colspan="2" style="text-align: center">TAHFIDZ</th>
</tr>
<tr>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
<th style="text-align: center">P</th>
<th style="text-align: center">K</th>
</tr>
</thead>
<tbody class="table-light">
@foreach ($siswa->mapel as $mapel )
<tr>
<td>{{ $loop->iteration }}</td>
<td value="{{ $siswa->id }}">{{ $siswa->nama }}</td>
<td>{{ $mapel->pivot->pa }}</td>
<td>{{ $mapel->pivot->ka }}</td>
</tr>
@endforeach
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1045</td>
<td>87,5</td>
</tbody>
</table>
dan ini hasilnya
hasil.JPG
yang di inginkan nama siswanya tidak ikut terlooping dan nilai nilai yang ada itu masuk kedalam mata pelajarannya masing masing
1 Jawaban:
<div>Di controller kamu sekarang</div><pre>$kelas = Kelas::find($id); $mapel = Mapel::all(); $siswa = Siswa::find($id);</pre><div><br>Perhatikan pada $kelas dan $siswa kamu mengambil data (dengan find) berdasarkan id.<br>Berarti kamu mengambil 1 kelas dan 1 siswa sesuai dengan id tersebut.<br><br><strong>Yang kamu mau adalah mengambil "relationship" nya<br></strong>saya tidak tahu apa itu fungsi $ledger.<br>Asumsi ini untuk mengambil data dari "mapel", maka:<br><br><br></div><pre>$mapel = Mapel::with('siswa', 'kelas')->find($id);</pre><div><br>Nanti pada viewnya, cara mengambil data<br><br></div><pre>$mapel->siswa->data_kolom_yang_dimau $mapel->kelas->data_kolom_yang_dimau</pre><div><br>Jika lebih dari satu maka diloop terlebih dahulu</div><pre>@foreach($mapel->siswa as $_siswa)</pre><div><br>Coba intip lagi ya<a href="https://laravel.com/docs/9.x/eloquent-relationships"> dokumentasi laravel terkait relation</a></div>
Tanggapan
makasih mas jawabannya