> # sicherstellen, dass $this->User->id entfert wird
> $this->User->create();
das bringt mir aber nichts, weil nämlich mit "$this->set($data);" bei
Model::save die id $this->User->id wieder gesetzt wird!
set splittet dabei die übergebenen daten auf und prüft, ob der
primarykey dabei ist, wenn ja setzt die id.
ich übergebe also sagen wir folgendes per formular:
data[User][id] = 1
data[User][username] = the hacker
data[User][password] = md5('test')
dann wird bei save wie untenstehend die funktion set mit den
übergebenen daten $data gesetzt.
function save($data = null, $validate = true, $fieldList = array()) {
$db =& ConnectionManager::getDataSource($this->useDbConfig);
$this->set($data);
........................................................................................................................................
function set($one, $two = null) {
if (is_object($one)) {
$one = Set::reverse($one);
}
if (is_array($one)) {
if (Set::countDim($one) == 1) {
$data = array($this->name => $one);
} else {
$data = $one;
}
} else {
$data = array($this->name => array($one => $two));
}
foreach ($data as $n => $v) {
if (is_array($v)) {
foreach ($v as $x => $y) {
if ($n == $this->name) {
if
(isset($this->validationErrors[$x])) {
unset
($this->validationErrors[$x]);
}
if ($x === $this->primaryKey) {
$this->id = $y; // <===
hier wird $this->User->id wieder
gesetzt
}
}
$this->data[$n][$x] = $y;
}
}
}
return $data;
}
bye hajo
--~--~---------~--~----~------------~-------~--~----~
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe
"CakePHP-de für deutsche CakePHP Entwickler".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an [email protected]
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an [EMAIL
PROTECTED]
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/cakephp-de?hl=de
-~----------~----~----~----~------~----~------~--~---