2017-02-01 2 views
0

Ich versuche, Daten zwischen dem erstellten Datenzeitintervall zu zählen.Wie Minutenintervall von erstelltem Datetime in CakePHP 3 erhalten?

Ich habe

unten Code versucht
$check->where(function($exp, $q) { 
        return $exp->between(
         $q->newExpr('NOW()'), 
         $q->newExpr('created'), 
         $q->newExpr('DATE_ADD(created, INTERVAL 30 MINUTE)') 
        ); 
}); 

ich auch

$check->where([ 
      'TIMESTAMPDIFF(MINUTE, created, NOW()) >=' => 1, 
      'TIMESTAMPDIFF(MINUTE, created, NOW()) <=' => 30, 
]); 

Ich erhalte Ergebnis 0

versucht haben beide Zeit, aber wenn ich versuche, mit der debug.log Abfrage Ich bin Ergebnis erhalten 1

SELECT (COUNT(*)) AS count FROM money_transfer_transactions MoneyTransferTransactions WHERE (user_id = 2 AND receiver_account_number = '01737810405' AND NOW() BETWEEN created AND DATE_ADD(created, INTERVAL 30 MINUTE)) 

Hier ist richtig ans ist 1.

Wie bekomme ich 30 min zwischen zwei datetime interval?

Antwort

0

Sie können Chronos Klasse verwenden, um mit Daten in CakePHP umzugehen. Sie können create Instanzen und dann diff sie.