Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите резултати от заявката, ако избраната дата е между две дати?

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

Така че обръщаме това по някакъв начин. Ние настройваме заявката вътре в whereHas, за да намерим наличностите, неналичностите, които са в този диапазон. Така че ние правим заявки за всички недостъпни записи (по някакъв начин). След това грабваме само потребители, които нямат връзки, които отговарят на този критерий, като използваме другите аргументи на whereHas ( '=', 0 ).

Така че всички потребители, които имат тази връзка, които попадат в тази времева рамка, не се връщат, без значение колко записи за наличност имат. Ако някой от тях се класира, няма да премине през филтъра.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създам Django модел с ForeignKeys, който не каскадно изтрива към своите деца?

  2. Уеб страницата извежда въпросителни знаци вместо уникод символи, въпреки че наборите от знаци и сортирането са правилни?

  3. Най-ефективният начин за вмъкване на редове в MySQL база данни

  4. Как да инсталирате MySQL 8.0 на RHEL/CentOS 8/7 и Fedora 35

  5. Как да изтрия каскада, когато parentID и childID са в една и съща таблица?