2016-09-29 3 views
0

Ich verwende Doctrine in einem Projekt, wo ich einen einzelnen Wert finden muss. Wenn ein solcher Wert nicht existiert oder wenn mehrere Werte vorhanden sind, muss ein anderer Prozess gestartet werden. Ich dachte, dass ich die Funktion findOneBy dafür verwenden sollte. Jetzt frage ich mich, was diese Funktion macht, wenn das Ergebnis etwas anderes als ein einzelner Wert ist. Wird es null zurückgeben? Wird es einen Fehler werfen? Ich habe versucht, die Doctrine-Dokumentation zu betrachten, konnte aber nicht den Ort finden, an dem der Rückgabewert oder mögliche Ausnahmen stehen.Doktrin findOneBy Rückgabewerte

Es ist wichtig für mich, genau zu wissen, was diese Funktion macht, weil ich sie in einem kritischen Prozess verwenden muss. Ein Beispiel, wie man es benutzt, ist in meinem Fall nicht genug. Es wäre wirklich nett, wenn es eine Art API-Dokumentation gäbe.

Wenn jemand mir helfen könnte, würde es sehr geschätzt werden. Danke!

Antwort

3

Sie können es testen einen var_dump($findByOneResult) und überprüfen, was es return.

Vergessen Sie nicht, exit() nach verwenden, damit Sie den Code dort stoppen.

Ich habe gerade versucht, dies auf einem meiner PHP-Projekt (mit Zendframework 2 und Lehre) und es gibt mir nur das erste Vorkommen der Datenbank zurück.

Ich hoffe, es wird Ihnen helfen.

+0

Hallo. Danke fürs Antworten und zum Testen. Ich werde es selbst versuchen, um zu sehen, ob ich bekomme, was ich brauche. –

+0

Das war wirklich hilfreich, um zu testen, wie Doctrine funktioniert. Danke [KatharaDarko] (https://stackoverflow.com/users/6868733/katharadarko)! – csalmeida

4

findOneBy gibt ein einzelnes Objekt basierend auf den gegebenen Bedingungen zurück, wenn keine Daten für die Rückgabe vorhanden sind, dann wird ein Nullwert zurückgegeben. Dies können Sie mit der Funktion empty() überprüfen. Sehen Sie dies für mehr Info http://symfony.com/doc/current/doctrine.html#fetching-objects-from-the-database, alles Gute

+0

Vielen Dank für Ihre Antwort. Ich habe mir die Beispiele im Doktrin-Handbuch angesehen, aber ich kann keinen Ort finden, an dem die Rückgabewerte und Ausnahmen angegeben sind, nur Beispiele. –