簡體   English   中英

通過搜索cakephp 2.x會話表來獲取登錄用戶

[英]Get logged in user by searching cakephp 2.x session table

我想使用會話表獲取所有已登錄用戶的列表。 為此,我嘗試使用以下代碼查詢cake_sessions表:

$this->loadModel('CakeSession');
$sessions = $this->CakeSession->find('all', array('fields' => 'data'));
// next I process session data to find logged in users

但是運行此代碼,我得到以下錯誤:

調用未定義的方法CakeSession :: find()

如果我使用以下代碼直接訪問該表,則效果很好:

$db = ConnectionManager::getDataSource("default");
$sessions = $db->fetchAll("SELECT data from cake_sessions");
// next I process session data to find logged in users

訪問會話表是否受到限制? 我當前的解決方案效果很好,但是我很困惑為什么不能使用CakeSession-> find()。

因為CakeSession 不是模型類。 參見http://api.cakephp.org/2.8/class-CakeSession.html

您引用的類也是一個數據源,因為“命名空間”還告訴您: Cake\\Model\\Datasource 在Cake2會話中,訪問被實現為數據源。 “模型”是一層,而不僅僅是一種文件類型。

在您的apps Model文件夾中創建一個正確的會話模型類。 參見http://book.cakephp.org/2.0/en/models.html

您可能必須使用其他名稱來避免沖突,因為Cake2不像Cake3那樣使用真正的php名稱空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM