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

jak sprawić, by Doctrine_Expression (doktryna 1.2) starała się uzyskać ostatnie 7 dni?

Powodem, dla którego nic nie zwraca, jest to, że Doctrine unika wyrażenia - wygenerowany kod SQL jest

WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)')

zamiast

WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY))

Możesz zmusić go do działania w ten sposób:

$date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)');
$q->where('date > ' . $date);

Nie jest to jednak najbezpieczniejsza opcja, ponieważ dane wejściowe nie są pomijane i nie jest dobrą praktyką...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podwójny mistrz MySQL

  2. Wyszukiwanie podobnych wzorców liczbowych w tabeli

  3. jak naprawić niezdefiniowaną zmienną:współpracownicy w domPDF w Laravel

  4. Jak uruchomić natywne zapytania SQL w tej samej transakcji Hibernate?

  5. GRUPA MySQL WEDŁUG... MIEJĄCYCH różne wartości w tym samym polu