假设,这是我项目中的db表:
<table>
<tr>
<th>id</th>
<th>title</th>
<th>description</th>
<th>created</th>
<th>modified</th>
<th>........</th>
</tr>
<tr>
<td>1</td>
<td>Some Title</td>
<td>Some Description</td>
<td>7/8/2013 8:50</td>
<td>7/8/2013 8:50</td>
<td>........</td>
</tr>
</table>
现在,我想知道记录1(id = 1)的次数。这就是CakePHP。有没有简单的方法来获取这些信息?我知道created
和modified
是2个字段,其值由CakePHP自动生成。那么,这里可以使用field
或其他东西吗?我将其标记为.........
。或者,有没有其他方法可以做到这一点?感谢。
答案 0 :(得分:1)
没有任何内置功能,但要自己制作并不难。 (困难的部分是当搜索引擎机器人访问该页面时,如果可以访问该页面,则不会增加计数器。)
例如,在数据库中创建一个字段viewcount INT DEFAULT 0
。在控制器中,假设模型被称为Model
并且操作是view
(替换为实际名称),请添加在查看页面时递增计数器的代码:
function view( $id ) {
// ....
$this->Model->updateAll(
array( 'Model.viewcount', 'Model.viewcount + 1' ),
array( 'Model.id', $id )
);
}
答案 1 :(得分:1)
CakePHP没有“自动”查看字段。如果您需要此功能,则必须使用updateAll方法自行实现:
$this->Model->updateAll(
array('Model.views', 'Model.views + 1'),
array('Model.id', $id)
);