Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel $q->where() między datami

Możesz połączyć swój where s bezpośrednio, bez function(q) . W laravelu jest też fajny pakiet do obsługi dat, nazwany Carbon . Możesz więc zrobić coś takiego:

$projects = Project::where('recur_at', '>', Carbon::now())
    ->where('recur_at', '<', Carbon::now()->addWeek())
    ->where('status', '<', 5)
    ->where('recur_cancelled', '=', 0)
    ->get();

Tylko upewnij się, że potrzebujesz Carbon w kompozytorze i używasz przestrzeni nazw Carbon (użyj Carbon\Carbon;) i powinno działać.

EDYCJA:Jak Joel powiedział , możesz zrobić:

$projects = Project::whereBetween('recur_at', array(Carbon::now(), Carbon::now()->addWeek()))
    ->where('status', '<', 5)
    ->where('recur_cancelled', '=', 0)
    ->get();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak równoczesne zapytania są obsługiwane w bazie danych MySQL?

  2. Migracja bazy danych Laravel — błąd zmiany nazwy kolumny — zażądano wyliczenia nieznanego typu bazy danych

  3. Całkowicie usuń MySQL Ubuntu 14.04 LTS

  4. XAMPP MySQL — ustawienie ft_min_word_len

  5. Sprawdź, czy nie ma duplikatów przed wstawieniem