Laravel Eloquent :: Find () gibt NULL mit einer vorhandenen ID zurück

9

Es ist ziemlich einfach, da es das grundlegendste ist, aber ich weiß nicht, was ich vermisse:

Ein Modell namens Site

Ich verwende Eloquent ORM, also wenn ich (in einem Controller) anrufe

%Vor%

und dann

%Vor%

Es wird ein Wert von NULL zurückgegeben.

Aber wenn ich die Datenbank überprüfe, enthält die Tabelle 'sites' tatsächlich das folgende Element:

%Vor%

In meinem Site Modell habe ich den folgenden Code:

%Vor%

Stattdessen, wenn ich den Gegenstand mit folgendem sammeln:

%Vor%

Es funktioniert und ich bekomme das richtige Register.

Was mache ich falsch? Welchen Teil der Dokumentation habe ich nicht bekommen?

BEARBEITEN:

Der Modellcode kann oben geprüft werden.

Controller :

%Vor%

EDIT 2: (Gelöst)

Wirklicher Grund, warum es nicht funktionierte:

Ich hatte ursprünglich in meinem Modellcode Folgendes:

%Vor%

Problem: Ich habe eine Spalte " deleted_at " hinzugefügt, nachdem ich das Projekt gestartet habe, und als ich Migrationen anwendete, war das Softdeleting nicht aktiviert. Offensichtlich habe ich einen zweiten Fehler gemacht und vergessen, ' deleted_at ' auf Null zu setzen, daher hatten alle Einfügungen einen falschen Zeitstempel (0000-00-00 ...).

Fix:

  1. Die Spalte ' deleted_at ' darf nicht gelöscht werden.

  2. Setze alle ' deleted_at ' Zeitstempel falsch auf NULL .

zedee 01.10.2014, 11:04
quelle

2 Antworten

1

Sie geben Ihr Modell nicht zurück.

var_dump gibt die Ausgabe aus und gibt nichts zurück.

mache das stattdessen:

%Vor%

und noch besser, einfach das Modell zurückgeben:

%Vor%     
Jarek Tkaczyk 01.10.2014 11:32
quelle
1

Überprüfen Sie, ob Sie Input::get('siteId') korrekt erhalten haben. Wenn Sie es bekommen, dann versuchen Sie, es in Ganzzahl zu konvertieren, d. h.

%Vor%     
Anand Patel 01.10.2014 11:24
quelle

Tags und Links