2013-02-23 63 views
-1

我有一個模型Gameline和控制器GamelinesController和數據庫'gamelines'。 我想運行此查詢Cakephp查找計數組在視圖中

enter image description here

這意味着有一個記錄屬於2013年2月18日,並有兩項紀錄屬於2013年2月25日。

之後,如何循環計數,屬於每個g_time視野中請幫助我。

+1

請分享您的(蛋糕)的PHP代碼。因爲您在截圖中查詢的不是您在應用程序中運行的查詢。因爲你使用了CakePHP方法(我想)。那麼你可以粘貼你的代碼嗎?和你的結果? – Jelmer 2013-02-23 10:23:11

+0

$ date_count = $這個 - > Gameline->找到( '計數', \t \t \t陣列( \t \t \t \t '字段'=> 'Gameline.g_time', \t \t \t \t '基團'=>'日期('g_time')', \t \t \t) \t \t); \t \t $ this-> set('game_counts',$ date_count); – 2013-02-23 10:34:52

+0

請更新你的OP。 – Jelmer 2013-02-23 10:49:22

回答

1

對於使用MySQL函數的字段,如DATE()。您可以使用Virtual Fields。在你的情況,你會增加這樣的事情你Gameline型號:

public function __construct($id = false, $table = null, $ds = null) { 
    parent::__construct($id, $table, $ds); 
    $this->virtualFields = array(
     'date' => 'DATE(' . $this->alias . '.g_time)' 
    ); 
} 

這樣,格式化的日期將作爲虛擬領域date(使用其他名字,如果你已經有了一個這就是所謂的像場)。

然後在您的find()操作中,獲取新虛擬date字段。爲了將這些結果輸出到您的視圖中,您可以簡單地遍歷結果集。比方說,您存儲find()結果稱爲$data查看參數,那麼你會顯示錶所示:

<table> 
    <thead> 
    <tr> 
     <th>Date</th> 
     <th>Count</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php foreach ($data as $row): ?> 
    <tr> 
     <td><?php echo $row['Gameline']['date']; ?></td> 
     <td><?php echo $row['Gameline']['count']; ?></td> 
    </tr> 
    <?php endforeach; ?> 
    </tbody> 
</table>