Php 在Laravel中返回数组会引发异常(表示我的数组是布尔值)

Php 在Laravel中返回数组会引发异常(表示我的数组是布尔值),php,symfony,laravel,Php,Symfony,Laravel,我在拉威尔遇到了一个奇怪的问题,我想不出来。在我的控制器中,我从MySQL数据库中获取几个结果。这些结果是在各种数据库中搜索的搜索查询的结果。我将这些结果(来自不同的表)放入一个数组中并返回数组 我得到的错误是: The Response content must be a string or object implementing __toString(), "boolean" given. 被扔到 vendor/symfony/http-foundation/Symfony/Compone

我在拉威尔遇到了一个奇怪的问题,我想不出来。在我的控制器中,我从MySQL数据库中获取几个结果。这些结果是在各种数据库中搜索的搜索查询的结果。我将这些结果(来自不同的表)放入一个数组中并返回数组

我得到的错误是:

The Response content must be a string or object implementing __toString(), "boolean" given.
被扔到

vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php#402
使用Barry的DebugBar,我已经验证了数组创建得非常好。我期望的所有数据都在那里,我看不出有任何问题

现在,我想向您展示我返回的阵列,但遗憾的是,这是不可能的,因为我们讨论的是敏感的客户数据

现在这个错误只是偶尔发生(在某些搜索词上)。这表明存在某种UTF-8或报价问题

我如何开始调试这个?Laravel认为我的数组是布尔型的可能原因是什么

编辑: 我的控制器功能的基本设置:

$customers = Customer::where....
$suppliers = Customer::where.....
$products = Customer::where....
$result = array(
    'results' => [
        'customers' => $customers,
        'suppliers' => $suppliers,
        'products' => $products,
    ]
);
return $result;

如果问题发生在某些请求上,我将转储客户查询的结果,并检查哪种结果会破坏代码


现在,在尝试访问该数组的键时,查询返回null可能会出现问题(找不到对象),因为它返回null值,而toString将不起作用

问题不在于mySQL的结果

问题是关于包含utf8字符的响应。
要检查,请尝试使用
json\u encode
您的$result,它将返回
false

您是否可以添加使用toString函数的语句,并在客户数据的位置添加一个模型字符串数组?客户在半年前就意识到了这一点,但你是对的。有一个PNG保存为BLOB,这就是问题所在。谢谢