Php 在Laravel中返回数组会引发异常(表示我的数组是布尔值)
我在拉威尔遇到了一个奇怪的问题,我想不出来。在我的控制器中,我从MySQL数据库中获取几个结果。这些结果是在各种数据库中搜索的搜索查询的结果。我将这些结果(来自不同的表)放入一个数组中并返回数组 我得到的错误是: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
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,这就是问题所在。谢谢