【问题标题】:Laravel - database return empty row although there is a recordLaravel - 尽管有记录,但数据库返回空行
【发布时间】:2017-10-15 00:24:56
【问题描述】:

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

记录如下图:

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

数据库结果如下图:

当我选择 id 或 usage 字段时,结果还可以,但是当我选择assetable_type 时,数据库返回空结果。

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

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

【问题讨论】:

    标签: sql database laravel-5


    【解决方案1】:

    尝试如下:

    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. 
    

    【讨论】:

      【解决方案2】:

      尝试使用如下转义字符:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-02
        • 1970-01-01
        • 1970-01-01
        • 2019-01-29
        • 2019-01-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多