2016-12-30 2 views
0

In meiner Tabelle habe ich ein Feld namens created_at mit dem Datentyp timestamp und Werte sind wie 2016-12-30 00:30:10 und so weiter.Wie bekomme ich Daten aus der PHP- und MySQL-Datenbank, die dem aktuellen Datum entsprechen?

In meiner Abfrage bekomme ich alle diese durch eine einfache select * Aussage.

Wie bekomme ich nur die Daten, wo es dem heutigen Datum entspricht?

ich einen Rahmen makoframework und die Query Builder genannt verwenden, ist dies:

$data = $query->table('customers') 
->where('created_at', '=', //date today) 
->all(); 

Jede Hilfe sehr geschätzt werden würde. Versuchen

+0

Verwenden Sie DATE (created_at) hoffe, es wird funktionieren. – Sona

+0

Es wird DATE (created_at) Spalte nicht gefunden @SoniyaReddy – FewFlyBy

Antwort

2

->where('DATE(created_at)', '=', '2016-12-30') 

Ich bin sicher, über die Abfrage, aber ich habe nicht verwendet, dass Rahmen, so dass ich nicht sicher bin, ob es sie über mysql passieren wird, wie es ist.

verwenden für Ihren Rahmen

->whereRaw('DATE(created_at)', '=', '2016-12-30') 
+0

'DATE (created_at)' wird als eine Spalte gezählt – FewFlyBy

+0

Das ist in Ordnung mysql wird wissen, was damit zu tun ist –

+0

Ich bekomme diese Spalte nicht gefunden: 1054 Unbekannte Spalte 'Datum (ph.created_at) 'in' where clause ' – FewFlyBy

2

Diese Arbeit wird

WHERE DATE (created_at) = CURDATE()

0

Ich weiß nicht, welchen Rahmen Sie verwenden, aber in PHP-Core Sie können die Funktion date() verwenden, um das aktuelle Datum in einem bestimmten Format zu drucken.

$data = $query->table('customers') 
     ->where('DATE(created_at)', '=', date('Y-m-d')) 
     ->all(); 
0

Also öffnete ich ein Problem in dem Github-Website und die richtige Art und Weise des Rahmens, die funktioniert, ist dies:

$now = date('Y-m-d'); 
->where(new Raw('Date(ph.created_at)'), '=', $now) 

Gerade mako\database\query\Raw

Vielen Dank für all die Hilfe importieren erinnern.

Verwandte Themen