2017-05-16 2 views
0

Momentan verwende ich Laravel, um eine Anwendung und Datenbank zu erstellen. Ich habe festgestellt, dass einige Datensätze in der Datenbank nicht ausgewählt werden können. Es wird ein leeres Ergebnis zurückgegeben, obwohl ein Datensatz vorhanden ist.Laravel - Datenbank gibt leere Zeile zurück, obwohl es einen Datensatz gibt

Die Aufzeichnungen im Bild unten sind:

here is my query: `

SELECT * FROM assets WHERE assetable_type = 'App\Product'; 

Datenbank Ergebnisse sind in der unten Bild:

Database result

Wenn ich auf id oder Verwendungsfeld auswählen, Das Ergebnis ist in Ordnung, aber wenn ich auf assetable_type auswähle, gibt die Datenbank mir ein leeres Ergebnis zurück.

Die Werte "usage", "assetable_id" und "assetable_type" sind nullwertfähig, die Verwendung ist normal, aber assetable_id und assetable_type geben eine leere Zeile zurück.

Warum wird es sein und wie man es löst?

Antwort

0

Versuchen Sie, wie unten:

SELECT * FROM assets WHERE assetable_type like TRIM('App\\Product'); 

oder möchten, können Sie auch mit \\

SELECT * FROM assets WHERE assetable_type='App\\Product'; 

verwenden Wenn Sie mehr über Trimm-Check wissen wollen here

Hinweis:

Escape Sequence Character Represented by Sequence 
An ASCII NUL (0x00) character. 
\’ A single quote (“’”) character. 
\” A double quote (“””) character. 
\b A backspace character. 
\n A newline (linefeed) character. 
\r A carriage return character. 
\t A tab character. 
\Z ASCII 26 (Control+Z). 
\\ A backslash (“\”) character. 
\% A “%” character. 
\_ A “_” character. 
Escape-Zeichen
+0

versuchte, noch leeres Ergebnis geben – chengwei

+0

nun versuchen, diesen i die Antwort – lalithkumar

+0

kühl aktualisiert! seine Arbeit jetzt, danke – chengwei

0

Try Verwendung als unten:

SELECT * FROM assets WHERE assetable_type = 'App\\Product'; 
Verwandte Themen