Cakephp prüft, ob ein Datensatz existiert

Lesezeit: 1 Minute

Benutzer-Avatar
Jelmer

Ich frage mich, gibt es eine Funktion, mit der ich sofort überprüfen kann, ob ein Datensatz in der Datenbank vorhanden ist?

Im Moment verwende ich den folgenden Code, um festzustellen, ob ein Datensatz vorhanden ist, aber ich kann mir vorstellen, dass es einen einfacheren/besseren Weg gibt.

$conditions = array(
    'conditions' => array(
         'User.id' => $this->Session->read('User.id'),
         'User.activation_key' => $this->Session->read('User.key')
     )
);
$result = $this->User->find('first', $conditions);
if (isset($result['User'])){
    //do something
}

Gibt es sowas wie:

$conditions = array(
    'conditions' => array(
         'User.id' => $this->Session->read('User.id'),
         'User.security_key' => $this->Session->read('User.key')
    )
);
if ($this->User->exists($conditions)){
    //do something
}

Okay, ja, das gibt es. Es heißt exists()aber ich brauche das gleiche, aber mit Parametern, damit ich der Prüfung meine eigenen Bedingungen hinzufügen kann.

Ich habe Google gesucht, aber ich kann kein Thema zu diesem Thema finden. Nun, viel über PHP und MySQL, aber nicht über Cakephp. Ich brauche eine kuchenspezifische Antwort.

Vielen Dank für Ihre Zeit 🙂

Benutzer-Avatar
tigrang

Was Sie suchen, ist Modell::hasAny

Verwendungszweck:

$conditions = array(
    'User.id' => $this->Session->read('User.id'),
    'User.security_key' => $this->Session->read('User.key')
);
if ($this->User->hasAny($conditions)){
    //do something
}

  • Vielen Dank, habe nicht bemerkt, dass es diese Funktion gibt 🙂

    – Jelmer

    16. August 2012 um 23:53 Uhr

  • Unbekannte Methode “hasAny”

    – aswzen

    2. Dezember 2020 um 20:55 Uhr

  • @aswzen in Cake 4.x heißt es eigentlichexists(). Heutzutage kann man dort Params reinwerfen.

    – Jelmer

    10. Januar 2021 um 2:27 Uhr

1229190cookie-checkCakephp prüft, ob ein Datensatz existiert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy