Empfehlungen: Erweiterte Suche

Zufällig generierte Zahl auf Existenz in Datenbank prüfen

Daten auslesen, verarbeiten und den Views übergeben

Zufällig generierte Zahl auf Existenz in Datenbank prüfen

Beitragvon tom.fox » Mi 11. Aug 2010, 11:46

Hallo zusammen,

ich möchte gerne folgendes tun. Eine Zahl zufällig generieren lassen und überprüfen ob diese schon in der DB vergeben ist. Wenn ja soll solange weiter generiert werden bis eine zahl gefunden wurde, die noch nicht gespeichert ist. soweit klappt das auch recht gut, nur dass er trotzdem zahlen doppelt speichert, was mir sagt, dass ich irgendwo einen logischen fehler habe:

in meinem model übergebe ich an eine funktion die generierte zahl, suche sie per "find" in der DB und gebe das ergebnis zurück:
Code: Alles auswählen

    function validateEyed($data)
    {
        $eyed = $this->find(array('eyed' => $data), array('eyed'));
        if(empty($eyed) == true)
            return $eyed['abc'];
        return false;
    }
 


wenn cake nix findet, also empty, ist der wert true. somit kann diese zahl verwendet werden.

eine funktion im controller generiert die zahl, ruft die funktion des models auf, und tut dies solange bis eine zahl gefunden wurde, die true zurückgibt.

function __createEyed()
{

do{
$test=rand(1,2);
}
while ($eyed = $this->abc->validateEyed($test) == true);
return $test;
}


soweit die theorie :) in der praxis ist es cake egal ob die zahl schon in der DB steht. cake schreibt "1" oder "2" mehrfach in die DB. seht ihr den fehler?

freue mich auf euer feedback. besten dank :)
tom.fox
 
Beiträge: 11
Registriert: So 20. Jun 2010, 15:49

Zurück zu Controller

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast