php - Laravel:当 print_r 查询输出时允许的内存大小耗尽

标签 php mysql laravel

我已经阅读了数十个报告此问题的问题,在所有这些问题中,最佳答案是“增加您的memory_limit”。很公平,但这里我有一个 memory_limit=128M 并且我正在尝试检索两行,所以我猜查询中有错误。

这是LampsController@create中的代码:

$families = DB::table('families AS f')
    ->join('products_families AS pf', 'pf.family_id', '=', 'f.id')
    ->join('products AS p', 'pf.product_id', '=', 'p.id')
    ->select(DB::raw('f.code'))
    ->where('p.category', '=', 'lamps');
// $families = Collection::unwrap($families);
print_r($families); exit;

数据库模式很简单:

A) 表

----------------------------------------------
| id | code | name | created_at | updated_at |
|    |      |      |            |            |
----------------------------------------------

B) 表 products_families

---------------------------------------------------------
| id | product_id | family_id | created_at | updated_at |
|    |            |           |            |            |
---------------------------------------------------------

C) 表产品

-------------------------------------------
| id | category | created_at | updated_at |
|    |          |            |            |
-------------------------------------------

这是我得到的错误:

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN)
Allowed memory size of 134217728 bytes exhausted (tried to allocate 98570240 bytes)

我做错了什么?

最佳答案

添加get()获取查询结果,如果要打印查询可以使用toSql()

关于php - Laravel:当 print_r 查询输出时允许的内存大小耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49006940/

相关文章:

mysql - SQL LEFT JOIN OR 条件的更好方法

php - 从 Laravel 存储下载而不将整个文件加载到内存中

php - Laravel: Blade foreach 循环引导列

php - 当向 localhost 发出 GET 请求时和向远程主机发出 GET 请求时,json 编码数据的解析方式不同

php - 在 wordpress 中使用 meta_query 和默认字段

PHP/MYSQL Where 子句作为数组

php - 如何通过 Axios 将文件发送到 Laravel

php - DBAL 和 LOAD DATA LOCAL INFILE Doctrine

java - DBUnit FlatXMLDataSet 对于 MySQL 容器化数据库插入速度极慢

Mysql按范围排序