モデルGamelineとコントローラーGamelinesControllerとデータベース「gamelines」があります。このクエリを実行したい
つまり、2013-02-18 に属するレコードが 1 つあり、2013-02-25 に属するレコードが 2 つあるということです。
その後、ビュー内の各 g_time フィールドに属するカウントをループする方法を教えてください。
などの MySQL 関数を使用するフィールドの場合DATE()
。仮想フィールドを使用できます。あなたの場合、次のようなものを 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>