2013-02-24 14 views
23

Sto usando Laravel Framework.Laravel ORM, data compare

Voglio tutte le righe per questo giorno. Questo è quello che ho provato:

DB::table('users')->where('created_at', '>=', date('Y-m-d H:i:s')) 

(campo created_at rappresentato in database in formato: Y-m-d H:i:s).

+1

Possibile duplicato della [mia domanda] (http://stackoverflow.com/questions/14790027/using-eloquent-how-do-i-filter-my-model-query- to-include-only-items-that-were-c), dove Eloquent è usato, così come Fluent. –

risposta

4

date('Y-m-d H:i:s') restituisce la data di ora.

Se si desidera ottenere risultati dall'inizio della giornata, è possibile sostituirlo con date('Y-m-d').' 00:00:00'.

Se si desidera che i risultati degli ultimi 24 ore è possibile sostituirlo con date('Y-m-d H:i:s',time()-86400) (86400 = 24 * 60 * 60)

47

Hmmm ... c'era una buona risposta a questa domanda che sembra avere ormai scomparso. *

e 'stato qualcosa di simile:

User::where('created_at', '>=', new DateTime('today')) 

Nota: se avete deciso di mettere questo codice in un file con uno spazio dei nomi, oppure potrebbe utilizzare uno spazio dei nomi in futuro, si dovrebbe anteporre la classe DateTime con una barra rovesciata: new \DateTime('today').

* https://stackoverflow.com/questions/15052679/laravel-framework-how-to-get-today-queries

+0

grazie :) mi ha aiutato – pila

+0

usandolo, grazie – Heihachi

+0

Splendidamente messi insieme. – Banago

0

so che argomento è vecchio ma qualcuno potrebbe provare a trovare una soluzione dai motori di ricerca.

È possibile utilizzare:

User::whereDate('created_at', '=', Carbon::today()->toDateString()); 

È possibile visitare questo link se volete saperne di più su di confronto data laravel usando dove.

Eloquent date filtering: whereDate() and other methods

0

Semplicemente:

DB::table('users')->where('created_at', '>=', date('Y-m-d'). ' 00:00:00') 

Quando si ottiene tutte le righe per questo giorno (il tempo dovrebbe essere 00:00:00), quindi assicuratevi di impostare la condizione data a data corrente più 00 : 00: 00 vale a dire

date('Y-m-d'). ' 00:00:00' 
+0

Anche se questo snippet di codice può risolvere la domanda, [compresa una spiegazione] (http://meta.stackexchange.com/questions/114762/explaining-entely- code-based-answers) aiuta davvero a migliorare la qualità del tuo inviare.Ricorda che stai rispondendo alla domanda per i lettori in futuro, e queste persone potrebbero non conoscere le ragioni del tuo suggerimento sul codice. –