2013-08-07 49 views
0

假設數,這是在我的項目一個數據庫表:CakePHP的,意見

<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。有沒有簡單的方法來獲取這些信息?我知道createdmodified是兩個字段,其值由CakePHP自動生成。那麼,有沒有field或什麼可以在這裏使用?我標記爲.........。或者,還有其他方法可以做到這一點嗎?謝謝。

回答

1

沒有什麼內置的東西,但要讓自己不難。 (難度部分是當搜索引擎機器人訪問該頁面時不增加計數器)

例如,在數據庫中創建一個字段viewcount INT DEFAULT 0。在控制器中,假定模型被稱爲Model和動作view(實際名稱取代),添加遞增頁面時查看的計數器代碼:

function view($id) { 
    // .... 
    $this->Model->updateAll( 
     array('Model.viewcount', 'Model.viewcount + 1'), 
     array('Model.id', $id) 
    ); 
} 
+0

啊,這是很酷,但是,根據你的,我怎麼阻止搜索引擎增加此值@Juhana? – user2387319

1

CakePHP的沒有一個「自動」查看字段。如果您想這個功能,你必須自己與updateAll方法實現:

$this->Model->updateAll( 
    array('Model.views', 'Model.views + 1'), 
    array('Model.id', $id) 
);