目前我正在使用laravel创建一个应用程序和数据库,我发现数据库中的某些记录无法选择,虽然有记录,但它会返回空结果。
记录如下图所示:
SELECT * FROM assets WHERE assetable_type = 'App\Product';
数据库结果如下图所示:
当我选择id或usage字段时,结果没问题,但是当我选择assetable_type时,数据库会返回空结果。
“usage”,“assetable_id”和“assetable_type”可以为空,用法正常,但assetable_id和assetable_type返回空行。
为什么会这样以及如何解决它?
答案 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';