Browse Source

Fixing the DatabaseSession to work with models that use a different primary key field than id.

Florian Krämer 15 years ago
parent
commit
98e29b7246
1 changed files with 4 additions and 1 deletions
  1. 4 1
      lib/Cake/Model/Datasource/Session/DatabaseSession.php

+ 4 - 1
lib/Cake/Model/Datasource/Session/DatabaseSession.php

@@ -110,7 +110,10 @@ class DatabaseSession implements CakeSessionHandlerInterface {
 			return false;
 		}
 		$expires = time() + (Configure::read('Session.timeout') * 60);
-		return ClassRegistry::getObject('Session')->save(compact('id', 'data', 'expires'));
+		$Session = ClassRegistry::getObject('Session');
+		$record = compact('id', 'data', 'expires');
+		$record[$Session->primaryKey] = $id;
+		return $Session->save($record);
 	}
 
 /**