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 :)

avatar nanto88
@nanto88

122 Kontribusi 56 Poin

Diperbarui 3 tahun yang lalu

7 Jawaban:

boleh liat relasi datanya gan? Kalo emang berelasi, enakan manfaatin ORM Eloquentnya laravel...

Coba screenshot relasi datanya dari phpmyadmin kalo boleh >,<

avatar nurimansyah
@nurimansyah

98 Kontribusi 87 Poin

Dipost 6 tahun yang lalu

Kenapa harus 2x foreach? kalau dari database kan datanya bisa di Join

jadi ga perlu 2x foreach 1x cukup :D

**cmiiw

avatar yasirarif
@yasirarif

7 Kontribusi 1 Poin

Dipost 6 tahun yang lalu

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

avatar nanto88
@nanto88

122 Kontribusi 56 Poin

Dipost 6 tahun yang lalu

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

avatar nurimansyah
@nurimansyah

98 Kontribusi 87 Poin

Dipost 6 tahun yang lalu

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

avatar nanto88
@nanto88

122 Kontribusi 56 Poin

Dipost 6 tahun yang lalu

sip sama" gan @nanto88, senang bisa membantu ^^ b

avatar nurimansyah
@nurimansyah

98 Kontribusi 87 Poin

Dipost 6 tahun yang lalu

<div>Saya juga punya masalah begitu tapi pakai codeigniter, gimana ya agan2 ??</div>

avatar andiwardhana
@andiwardhana

4 Kontribusi 0 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban