2016-04-20 6 views
0

Ich bekomme derzeit die letzten 30 Tage Ergebnisse wie folgt.MySQL Ergebnisse erhalten basierend auf dem Datum des aktuellen Monats in Codeigniter

public function commission_month(){ 

$status = 'A'; 

$this->db->select_sum('LenderCommission'); 
$this->db->where(['Status' => $status ]) ; 
$this->db->where('CompletedDate >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) '); 
$query = $this->db->get('toutcome'); 
$result = $query->result(); 

return $result[0]->LenderCommission; 


} 

Was ich wirklich versuche zu tun ist, Ergebnisse für diesen aktuellen Monat zu erhalten. Und dann, wenn es im nächsten Monat ist, sollte es das gleiche tun.

Antwort

1

Sie können eine "wie" -Abfrage verwenden, um die Informationen zu erhalten, die Sie benötigen, vorausgesetzt, dass die Daten in einer Weise gespeichert sind, auf die Sie einfach ein Like anwenden können.

Grundsätzlich wird die Abfrage etwas in Richtung ... AND CompletedDate LIKE 'YYYY-MM-%'... wo YYYY und MM Jahr und Monate gültig sind.

$this->db->like('CompletedDate', date('Y-m')); 

Ihr Code dann sein:

public function commission_month(){ 

    $status = 'A'; 

    $this->db->select_sum('LenderCommission'); 
    $this->db->where(['Status' => $status ]) ; 
    $this->db->like('CompletedDate', date('Y-m')); 
    $query = $this->db->get('toutcome'); 
    $result = $query->result(); 

    return $result[0]->LenderCommission; 
} 
+0

Thanks @ gabe3886 Dies kann unter Verwendung des $this->db->like() Builder in CodeIgniter erfolgen – user3485335

Verwandte Themen