Postingan lainnya
cara 2 foreach di table html dalam satu row
@foreach ($user->reservations as $reservation)
<tr>
<td> {{ $reservation->start_date }} </td>
<td> {{ $reservation->end_date }} </td>
</tr>
@endforeach
@foreach ($user->rooms as $room)
<td> {{ $room->name }} </td>
<td> {{ $room->price }} </td>
@endforeach
code ini hasilnya :
--
@foreach ($user->reservations as $reservation)
<tr>
<td> {{ $reservation->start_date }} </td>
<td> {{ $reservation->end_date }} </td>
@foreach ($user->rooms as $room)
<td> {{ $room->name }} </td>
<td> {{ $room->price }} </td>
@endforeach
</tr>
@endforeach
code ini hasilnya :
gimana ya caranya 2 loop foreach dalam 1 tabel biar pas 1 row ? klo ane taruh didalem ke foreach lg dia ngeloop soalnya, ane butuh definisiin collection user->reservations dan user->rooms pakai foreach, mgkn ada yg lain tp ane masih cari2 juga.. cara akalinnya gimana yaa ?
mohon pencerahannya gann :)
7 Jawaban:
boleh liat relasi datanya gan? Kalo emang berelasi, enakan manfaatin ORM Eloquentnya laravel...
Coba screenshot relasi datanya dari phpmyadmin kalo boleh >,<
Kenapa harus 2x foreach? kalau dari database kan datanya bisa di Join
jadi ga perlu 2x foreach 1x cukup :D
**cmiiw
ini relasinya gan @nurimansyah
klo ada mgkn yg janggal koreksi juga gan, masih belajar ni takut salah atau ada yg ga perlu juga relasinya :D
nah jd ane foreach karna datanya array dan dari 2 tabel gan, tabel reservasi sama room, 22nya berelasi sama user jadi ane harus keluarin secara berulang, bisa sih di foreach 2x, tapi pas di tabelnya jd acak2an wkwk blm tau ane akalinnya
makasih responnya agan2 heheh
Jawaban Terpilih
Mantap gan, Oke coba ane bantu ya...
Kalo ane liat berarti table "reservations" punya relasi ke table "rooms" kan? Nah, itu kalo boleh tau kardinalitas-nya gimana? Kalo ane lihat, mungkin (CMIIW) kardinalitasnya 1:1 (One-to-One) bukan? Jadi, 1 data "reservations" hanya boleh punya 1 data "rooms"?
Kalo iya, ini udah bener kok, tinggal mainin fitur Eloquent dari laravel. Nah, gimana caranya? Begini gan:
1. Asumsi-nya kardinalitas 1:1. 2. Refer to this: https://laravel.com/docs/5.4/eloquent-relationships#one-to-one, buka file model-nya, misalnya model "Reservations.php", nah tinggal tambahin script:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Reservation extends Model
{
/**
* Ambil data "rooms" sesuai dengan data "reservations" yang di select nantinya
* Untuk nama fungsi bisa apa aja, disini ane pake "room" sebagai alias data rooms
*/
public function room()
{
// Ini refer ke namespace model "Rooms" ya...
// Terus, parameter ke dua, ane set "id" karena referense dari "reservations"."room_id" adalah "room"."id". Jadi, ini merupakan foreign keynya.
return $this->hasOne('App\Room', 'id');
}
}
3. Nah, kalo udah, maka pada viewnya nanti tinggal:
@foreach ($user->reservations as $reservation)
<tr>
<td> {{ $reservation->start_date }} </td>
<td> {{ $reservation->end_date }} </td>
</tr>
<td> {{ $reservation->room->name }} </td>
<td> {{ $reservation->room->price }} </td>
@endforeach
Nah, silahkan dicoba, mohon maaf kalo error, belum sempet test :D
Wowww ternyata $user->reservations->room bisa ya disitu kuncinya, ane gak nyadar klo itu bisa, sekarang udah bisa nih di tabel ane hanya pakai 1 foreach jadi rapih makasih agan @nurimansyah :D thankssss
sip sama" gan @nanto88, senang bisa membantu ^^ b
<div>Saya juga punya masalah begitu tapi pakai codeigniter, gimana ya agan2 ??</div>