Laravel - 数据库返回空行虽然有记录

时间:2017-05-16 04:44:27

标签: sql database laravel-5

目前我正在使用laravel创建一个应用程序和数据库,我发现数据库中的某些记录无法选择,虽然有记录,但它会返回空结果。

记录如下图所示:

here is my query: `

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

数据库结果如下图所示:

Database result

当我选择id或usage字段时,结果没问题,但是当我选择assetable_type时,数据库会返回空结果。

“usage”,“assetable_id”和“assetable_type”可以为空,用法正常,但assetable_id和assetable_type返回空行。

为什么会这样以及如何解决它?

2 个答案:

答案 0 :(得分:0)

尝试如下:

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

或者您也可以使用\\

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

如果您想了解有关修剪检查的更多信息here

注意:

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. 

答案 1 :(得分:0)

尝试使用转义字符,如下所示:

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