Relation mysql select

Gimana caranya ya ane panggil reservasi.room,user dimana user punya room yg terbooking (foreign key reservations nya room_id) dari reservasi ane coba utak atik eloquent atau db::select ga nemu2 karna ane galau ane coba ubah yg asalnya one to many jadi many to many user sama room.. mgkn biar ane bsa panggil langsung pake -> , tapi ga bsa juga ini model usernya, sama kaya room tapi beda app\Users aja

klo ane panggil reservasi,room,user dimana reservasi punya user yg membooking (foreign key reservations nya user_id dari reservasi) , bsa pakai relasi one to many codenya :

 @foreach ($user->reservations as $reservation)
                  <tr>
                  <td> {{ $reservation->start_date }} </td>
                  <td> {{ $reservation->end_date }} </td>
                  <td>
                    <a href="/room/{{ $reservation->room_id }}">
                      Room {{ $reservation->room->name }}
                    </a>
                  </td>
                  <td> Rp. {{ $reservation->room->price }} </td>
                  <td>
                    <?php
                      $start     = date_create($reservation->start_date);
                      $end       = date_create($reservation->end_date);
                      $interval  = $start->diff($end)->format('%a');
                      $total    = ($interval * $reservation->room->price);
                     ?>
                    Rp. {{ $total }}
                  </td>
                  <td>
                    {{-- {{ dd($reservation->room->user) }} --}}
                    @if ( $reservation->room->user->fullname == null )
                        {{ $reservation->room->user->name }}
                    @else
                        {{ $reservation->room->user->fullname }}
                    @endif
                  </td>
                  <td> {{ $reservation->room->user->phone }} </td>
                </tr>
            @endforeach

tapi ane ga bsa panggil seperti diatas dengan berdasarkan Daftar Reservasi (jadi misal user punya banyak room, mgkn ada room yg terbooking nah dia bisa lihat ditabel tsb)

relasinya klo menurut ane (koreksi klo ada salah y gan) user one to many room (ane bingung yg ini 1:n / m:n karna user bisa booking banyak room, itu termasuk many ga ya) user one to many reservations room one to many reservations

user bisa membuat banyak room user bisa membooking banyak room room dimiliki 1 user (ane bingung yg ini 1:n / m:n karna user bisa booking banyak room itu termasuk many ga ya) room bisa dibooking/direservasi banyak user karna beda tanggal reservasi hanya dimiliki 1 room reservasi hanya dimiliki 1 user

ini relasi dari phpmyadmin

klo ada masukan relasi mgkn ane keliru, respon ya gan dan kira2 query sql nya bagaimana ya klo ada masukan query eloquent laravelnya juga bolehhh

mohon pencerahannya gann :D

avatar nanto88
@nanto88

122 Kontribusi 56 Poin

Diperbarui 7 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

Akhirnyaaaa nemuu sendiri nyoba2 lama depan lepi heheh pakai eloquent ini, dan ane tetep pake 1:n jadinya, :D

 $reservations = Reservation::whereHas('room', function ($query) use($id) {
      $query->where('user_id', '=', $id);
      })->get();

solveddd (Y)

avatar nanto88
@nanto88

122 Kontribusi 56 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban