Saya mencoba menghilangkan pertanyaan yang tidak perlu di situs saya, tetapi saya kesulitan memahami Eager Loading dan Lazy Loading. Semua pengguna di situs saya memiliki listingan, dan listingan memiliki banyak pengguna. Mereka terhubung melalui tabel listing_users. Setiap daftar kemudian memiliki satu "urutan" yang terkait dengannya. Berikut adalah model penggunanya:
Model Pengguna:
public function listings(){
return $this->belongsToMany(Listing::class)->withPivot('role_id');
}
Model Daftar:
public function order(){
return $this->hasOne(Order::class)->first();
}
Dasbor saya saat ini dimuat dengan memanggil viewListings ini di UserController:
public function viewListings(){
$user = Auth::user();
$listings = $user->listings()->orderBy('created_at','desc')->get();
return view('user.listings', compact('listings'));
}
Masalahnya terjadi pada tampilan blade saya user.listings di mana saya memiliki loop foreach untuk setiap daftar dan kemudian memanggil setiap pesanan juga. Saya memerlukan cara untuk meneruskan daftar ke halaman, dengan pesanan terkait.
@foreach($listings as $listing)
@if($listing->order()->status == 'completed')
{{-- Display the listing details here --}}
@endif
@endforeach
Saran apa pun untuk situasi di atas akan sangat dihargai! Saya yakin ada solusi Laravel sederhana untuk ini yang saya abaikan.