Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendapatkan hasil dari kueri jika tanggal yang dipilih berada di antara dua tanggal?

User::whereHas('availabilities', function ($q) use ($dt) {
    $q->where('unavailable_start_date', '<=', $dt)
      ->where('unavailable_end_date', '>', $dt);
}, '=', 0)->get();

Jadi kami agak membalikkan ini dengan cara. Kami menyiapkan kueri di dalam whereHas untuk menemukan ketersediaan, ketidaktersediaan, yang berada dalam kisaran ini. Jadi kami menanyakan semua catatan yang tidak tersedia (dengan cara tertentu). Kami kemudian hanya mengambil pengguna yang tidak memiliki hubungan yang cocok dengan kriteria ini, dengan menggunakan argumen lain ke whereHas ( '=', 0 ).

Jadi setiap pengguna yang memiliki hubungan ini yang termasuk dalam kerangka waktu ini tidak dikembalikan, tidak peduli berapa banyak catatan ketersediaan yang mereka miliki. Jika salah satu dari mereka memenuhi syarat, mereka tidak akan lolos dari filter.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Metode Otentikasi Salah MySQL ASP Klasik

  2. Rails 3.2.6 &pembuatan tampilan database melalui migrasi

  3. Ganti null dengan 0 di MySQL

  4. Rentang Integer SQL Saat Membuat Tabel

  5. Cara memperbaiki karakter UTF8 yang disandikan ganda (dalam tabel utf-8)