我有一个模型Gameline和控制器GamelinesController和数据库'gamelines'。 我想运行此查询
这意味着有一条记录属于2013-02-18,并且有两条记录属于2013-02-25。
之后如何循环查看属于视图中每个g_time字段的计数请帮帮我。
答案 0 :(得分: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>