Saya mempunyai jadual taksonomi dengan kategori transaksi yang berbeza. Setiap kategori mengandungi beberapa urus niaga bersama dengan tarikh luputnya. Saya hanya mahu mengakses urus niaga tersebut dan kategorinya yang tarikh tamat tempohnya masih belum tamat, tetapi saya menghadapi isu di mana jika urus niaga kategori tertentu wujud dalam julat masa, maka semua urus niaga akan tiba tanpa mengira sama ada transaksi tersebut telah tamat tempoh. atau tidak. Ini kod saya:
$deals = DealCategory::where('name', '!=', '今日交易') ->whereRelation('deals','start_date', '<=', date('Y-m-d')) ->whereRelation('deals', 'expiry_date',">=", date('Y-m-d')) ->with('deals', 'deals.deal_images', 'deals.deal_products', 'deals.deal_products.product', 'deals.rating')->latest()->Paginate(12); return response()->json(['Deals' => $deals, 'Date' => Carbon::now(), 'status' => 'success'], 200);
Apabila anda menggunakan
with
untuk memuatkan perhubungan, anda boleh melepasi syarat tambahan untuk memberitahu Eloquent rekod yang hendak dimuatkan:Versi terkini Laravel malah termasuk kaedah
withWhereHas
khusus yang menyemak kewujudan perhubungan sambil memuatkan perhubungan secara serentak, memuatkan berdasarkan syarat yang sama:Sebarang pilihan boleh memenuhi keperluan anda.