laravel 基本查询中“允许的内存大小已耗尽 134217728 字节”

2024-05-07

我不知道为什么我无法让以下工作正常工作:

DB::table('twitter_hashtags')->paginate(5);

每次我得到(第二个数字往往不同)

Allowed memory size of 134217728 bytes exhausted (tried to allocate 95735352 bytes)

我尝试使用(18776710 https://stackoverflow.com/questions/18775510/laravel-eloquent-memory-leak-retrieving-the-same-record-repeatedly/18776710#18776710),但这没有任何区别

DB::connection()->disableQueryLog();

去除->paginate(5)没有任何区别。

当我尝试时:

DB::select('SELECT * FROM twitter_hashtags');

它工作正常,但是我无法在分页选项中使用构建。

有人有建议吗?

表 twitter_hashtags 目前有 5500 条记录。保存了id、tweet_id和hashtag,所以不可能是表太大的问题。

桌子尺寸:

Data    384,0   KB
Index   464,0   KB
Total   848,0   KB

Update

根据要求提供更多信息

这是动作

public function getHashtags()
{           
    DB::connection()->disableQueryLog(); // With or without does not make a difference
    $retweets = DB::table('twitter_hashtags')->paginate(10);        

    // Show the page
    return View::make('twitter/retweets', compact('retweets'));

}

正如您所看到的,我使用转发视图,问题也存在于转发中,或者我尝试通过这种方式获取数据的几乎任何其他表中。

风景'

</pre><? print_r($retweets) ?></pre>

我用来创建表的迁移

public function up()
{
    Schema::create('twitter_hashtags', function($table)
    {
        // Basic run information
        $table->increments('id');
        $table->string('status_id')->index();
        $table->string('hashtag')->index();

        // Misc.
        $table->timestamps();
    });
}

这些是将内存限制提高到 256M 时响应的前 100 行左右

Illuminate\Database\Query\Builder Object
(
    [connection:protected] => Illuminate\Database\MySqlConnection Object
        (
            [pdo:protected] => PDO Object
                (
                )

            [queryGrammar:protected] => Illuminate\Database\Query\Grammars\MySqlGrammar Object
                (
                    [wrapper:protected] => `%s`
                    [selectComponents:protected] => Array
                        (
                            [0] => aggregate
                            [1] => columns
                            [2] => from
                            [3] => joins
                            [4] => wheres
                            [5] => groups
                            [6] => havings
                            [7] => orders
                            [8] => limit
                            [9] => offset
                            [10] => unions
                        )

                    [tablePrefix:protected] => 
                )

            [schemaGrammar:protected] => 
            [postProcessor:protected] => Illuminate\Database\Query\Processors\Processor Object
                (
                )

            [events:protected] => Illuminate\Events\Dispatcher Object
                (
                    [container:protected] => Illuminate\Foundation\Application Object
                        (
                            [booted:protected] => 1
                            [bootingCallbacks:protected] => Array
                                (
                                    [0] => Closure Object
                                        (
                                            [parameter] => Array
                                                (
                                                    [$app] => 
                                                )

                                        )

                                    [1] => Closure Object
                                        (
                                            [static] => Array
                                                (
                                                    [instance] => Illuminate\Log\LogServiceProvider Object
                                                        (
                                                            [defer:protected] => 1
                                                            [app:protected] => Illuminate\Foundation\Application Object
 *RECURSION*
                                                        )

                                                )

                                        )

                                    [2] => Closure Object
                                        (
                                            [static] => Array
                                                (
                                                    [instance] => Illuminate\Mail\MailServiceProvider Object
                                                        (
                                                            [defer:protected] => 1
                                                            [app:protected] => Illuminate\Foundation\Application Object
 *RECURSION*
                                                        )

                                                )

                                        )

                                    [3] => Closure Object
                                        (
                                            [static] => Array
                                                (
                                                    [instance] => Illuminate\Queue\QueueServiceProvider Object
                                                        (
                                                            [defer:protected] => 1
                                                            [app:protected] => Illuminate\Foundation\Application Object
 *RECURSION*
                                                        )

                                                )

                                        )

                                    [4] => Closure Object
                                        (
                                            [static] => Array
                                                (
                                                    [instance] => Illuminate\Translation\TranslationServiceProvider Object
                                                        (
                                                            [defer:protected] => 1
                                                            [app:protected] => Illuminate\Foundation\Application Object
 *RECURSION*
                                                        )

                                                )

                                        )

Update 2

按照要求。这是回应:

Array
(
    [total] => 5689
    [per_page] => 5
    [current_page] => 1
    [last_page] => 1138
    [from] => 1
    [to] => 5
    [data] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 1
                    [status_id] => 384992474579484672
                    [hashtag] => Twenterand
                    [created_at] => 2013-10-01 11:00:02
                    [updated_at] => 2013-10-01 11:00:02
                )

            [1] => stdClass Object
                (
                    [id] => 2
                    [status_id] => 384992323190280192
                    [hashtag] => Twenterand
                    [created_at] => 2013-10-01 11:00:03
                    [updated_at] => 2013-10-01 11:00:03
                )

            [2] => stdClass Object
                (
                    [id] => 3
                    [status_id] => 384989174014545921
                    [hashtag] => PVDA
                    [created_at] => 2013-10-01 11:00:03
                    [updated_at] => 2013-10-01 11:00:03
                )

            [3] => stdClass Object
                (
                    [id] => 4
                    [status_id] => 384988499188801536
                    [hashtag] => GR2014
                    [created_at] => 2013-10-01 11:00:03
                    [updated_at] => 2013-10-01 11:00:03
                )

            [4] => stdClass Object
                (
                    [id] => 5
                    [status_id] => 384986184092356608
                    [hashtag] => GR2014
                    [created_at] => 2013-10-01 11:00:03
                    [updated_at] => 2013-10-01 11:00:03
                )

        )

)
                                )

                                        )

Update 3

这是我用于 getStatuses 的代码

public function getStatuses()
{           
    // Get all the paginated statuses
    $statuses = DB::table('twitter_statuses')
            ->select('status_id', 'text', 'user_screen_name','datetime','place')
            ->orderBy('datetime', 'DESC')
            ->paginate(10);

    // Show the page
    return View::make('twitter/statuses', compact('statuses'));
}

以及完整的视图文件

@extends('layouts/default')

{{-- Page title --}}
@section('title')
Twitter Statuses ::
@parent
@stop

{{-- Page content --}}
@section('content')
<h1>Twitter Statuses</h1>
<div class="container">
    <table class="table">
        <tr>
            <th>Datum</th>
            <th>Gebruiker</th>
            <th>Tweet</th>
            <th>Locatie</th>
        </tr>
    <?php foreach ($statuses as $status): ?>
        <tr>
            <td>{{ $status->datetime; }}</td>
            <td><?php echo $status->user_screen_name; ?></td>
            <td><?php echo $status->text; ?></td>
            <td><?php echo $status->place; ?></td>
        </tr>
    <?php endforeach; ?>
    </table>
    <?php echo $statuses->links(); ?>
</div>
@stop

我刚刚遇到了同样的问题。解决方案很简单:只需添加->get();在查询末尾:

public function getStatuses()
{           
    // Get all the paginated statuses
    $statuses = DB::table('twitter_statuses')
            ->select('status_id', 'text', 'user_screen_name','datetime','place')
            ->orderBy('datetime', 'DESC')
            ->paginate(10)
            ->get() 
;

    // Show the page
    return View::make('twitter/statuses', compact('statuses'));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

laravel 基本查询中“允许的内存大小已耗尽 134217728 字节” 的相关文章

  • 使用 Laravel 和 Eloquent 从表中选择全部

    我正在使用 Laravel 4 设置我的第一个模型 以从名为的表中提取所有行posts 在标准 MySQL 中我会使用 SELECT FROM posts 如何在 Laravel 4 模型中实现这一目标 我的完整模型源代码如下
  • Laravel Eloquent 预加载:加入同一个表两次

    我有一个users表和一个约会桌子 在约会表中 我有两个用户 ID customer id staff id 我想检索所有带有客户姓名和员工姓名的约会 users table id name appointments table id st
  • Homestead 无法远程访问第二个站点

    我的一个站点设置正常 但第二个站点无法远程访问 My YAML ip 192 168 10 10 memory 2048 cpus 1 provider virtualbox authorize ssh id rsa pub keys ss
  • 无法通过 Vue.js 从 Laravel 后端下载文件 (pdf)(Axios 帖子)

    我在 Vue 中有一个多步骤表单 一旦收集到所有信息 我就会将结果发布到 Laravel 控制器 这是网站的经过验证的区域 我正在使用护照 所以本质上我有一个 Vue SPA 它是在 Laravel 5 7 框架内构建的网站的管理区域 Vu
  • 如何安全地使用保留的 SQL 名称?

    我正在使用 Cakephp 3 使用 sqlserver 作为数据源服务器 我确信我的数据库连接没有问题 因为 home ctp 提示我已连接到我的数据库 并且我还使用迁移插件来创建我的表 似乎使用它没有问题这些工具 但是在我烘焙 MVC
  • 如何删除以前的 ViewController

    我是一名学生 对编程还很陌生 我正在尝试在业余时间学习 Objective C Swift 我使用 spriteKit 和 swift 制作了一个游戏 有多个菜单 场景 我正在尝试从一个视图控制器转换到另一个视图控制器 为此 我使用了以下代
  • Laravel - 重复键批量插入更新大数据集

    我有大约 80k 条记录 每天需要多次运行插入 更新脚本 INSERT INTO my rankings id rank VALUES 1 100 2 99 3 102 80000 3 ON DUPLICATE KEY UPDATE ran
  • 在 Windows Vista 和 Windows 7 上使用 HEAP_NO_SERIALIZE 的堆内存函数速度减慢约 100 倍的原因

    我正在尝试追踪 Windows Vista 和 Windows 7 中堆内存功能的巨大减慢 我没有在任何服务器版本上进行测试 这种情况在 Windows XP 上根本不会发生 只会在 Microsoft 较新的操作系统上发生 我最初在 Wi
  • 如何将登录哈希 bcrypt 更改为 hash256

    我正在尝试更改 Laravel 中的哈希值 所以我在 RegisterController 中使用 salt 定制了 SHA256 注册完成但如何更改登录信息 protected function create array data sal
  • 更改 Laravel auth 表名称和列名称

    我想更改 laravel auth 表的表名和一些列名 将表名称从 用户 更改为 帐户 将表列名称从 名称 更改为 用户名 将表列名称从 email 更改为 email addr 将表列名称从 updated at 更改为 last upd
  • 获取存储中文件的路径

    我使用以下方法将文件保存到存储中 request gt file avatar gt store avatars 将其保存到 storage app avatars avatar png 我怎样才能获得这个文件 文件夹的路径 not网址 使
  • 堆内存问题

    有一个 WCF 自托管服务必须在 99 的时间内正常工作 有时我们会遇到这样的记忆问题 但问题发生后 服务一切正常 我们该如何处理这个问题 任何关于提供能够在不同情况下生存的强大服务的提示和要点都非常受欢迎 我不太确定问题出在哪里 但内存泄
  • 如何在 laravel eloquent 中保存布尔值

    我在 Laravel 中进行了以下迁移
  • 堆栈内存未释放

    我有以下循环 它从此处的实现中弹出我拥有的 C 并发队列 https juanchopanzacpp wordpress com 2013 02 26 concurrent queue c11 https juanchopanzacpp w
  • 如何正确定义析构函数

    我对 C 以及一般的编程 比较陌生 所以如果问题没有立即完全清楚 请原谅我 我所拥有的是一个程序 其中创建了内部定义的类 让我们称之为 class1 的一定数量的对象 程序运行得很好 对象也做了它们应该做的事情 我当前试图解决的问题如下 这
  • 如何在php中用一行调用两个方法?

    我在 Laravel 中看到在单行中调用多个方法 例如 DB get test gt toJson 我在该类中有一个很酷的类和视图方法 this gt call gt view welcome gt anotherMethod 我还想调用另
  • Laravel Valet 不工作。 127.0.0.1 连接被拒绝

    试图让代客泊车设置正常工作 当访问 127 0 0 1 时 连接被拒绝 这是我在访问 dev 站点设置之一时收到的消息 我已经确保 apache 已停止 并且一直在谷歌上搜索所有地方 但无法找到解决方案 有没有人遇到过这个或对下一步尝试什么
  • 每 30 秒运行一次 Laravel 方法

    我有一个在我调用应用程序上的特定 URL 时运行的方法 它处理数据库队列中的行 该间隔被设置为 Cron 可能的最小间隔 即 1分钟 这需要减少到 30 秒 所以我想知道如何最好地实现这一目标 我想我可以在我的脚本中构建一个循环 运行代码两
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • 使用 Laravel Socialite 登录 facebook

    然而 我是 Laravel 的新手 我正在遵循以下教程http www codeanchor net blog complete laravel socialite tutorial http www codeanchor net blog

随机推荐

  • C# 将表导出到 Excel

    如何使用以下方法将此数据表导出到 Excel Microsoft Office Interop Excel 我有这个代码 女巫抓取主表中的所有数据 并希望将其导出到 Excel 以获得更好的视图 不想使用数据网格 我认为有很多关于这个主题的
  • 如何创建随机矩阵?

    我想创建一个随机矩阵 如 100 50 25 22 75 195 我的代码是 n 1 r 2 e 3 sup for i in range n sup1 for c in range r sup0 list random randint 2
  • 如果按下子视图的按钮如何取消 UIGestureRecognizer

    我正在努力从手势识别器中获得我想要的行为 特别是在其他手势已触发时取消某些手势 我有一个滚动视图设置为分页和每个页面中的多个子视图 我添加了一个触摸手势识别器 如果用户点击页面的右侧或左侧 则可以滚动到下一页或上一页 Add a gestu
  • AngularJS 计数器计数到目标数

    我是 Angular 的新手 想在 JQuery 中实现同样简单的函数扩展 但使用指令 据我所知 这就是应该如何完成的 有人知道准备实施吗 我的搜索最终只找到了 JQuery 解决方案 但我不知道如何将其转换为 Angular 这就是我需要
  • python函数返回函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何用php将文件内容转换为字节数组

    我想用PHP将上传的文件保存 插入 到数据库中 数据库字段的类型是varbinary 最后 我想要获得 VarBinary 输出 的内容 就像在 C 中读取文件然后将其存储在字节数组中并将数组插入到 VarBinary 中一样 我与数据库的
  • 在 Linux (CentOS 5.4) 中运行 jNotify 时出现问题

    我正在尝试在 centos 5 4 64 位 框中设置 jnotify 来监视目录中的文件更改 我按照说明将 libjnotify so 放入 java 库路径中 这是我的条目 java Xms64m Xmx2048m Djava libr
  • 使用mongodb+srv配置Mongo

    我在 docker 上启动 mongo 所以默认主机 localhost port 27017 用户名 root密码 example 现在我想通过连接字符串进行连接 mongodb srv root example localhost si
  • woocommerce 自定义结账字段添加费用以订购 ajax

    我试图在结账时在订单总额中添加自定义费用 我在 woocommerce 中添加了一个复选框 add action woocommerce after checkout billing form add box option to check
  • 如何用另一个子字符串替换子字符串(按索引 from..to)

    如何用其他字符串将某个字符中的子字符串替换为另一个字符 first 4 last 11 replacement show me the money replace part first last replacement gt show mo
  • 为 R 的 read_excel 包中的特定列指定列类型

    我的 Excel 文件中有大约 20 列 我正在使用 read excel 将它们作为数据帧读入 R 一列被视为 Posix 我希望它是文本 我知道提及所有列类型的类型可以解决此问题 但我想看看是否可以提及列的名称或指定仅该列应被视为文本的
  • 模式匹配中使用的抽象类型的类型不匹配

    此代码编译时出现错误 def f1 T e T T e match case i Int gt i case b Boolean gt b type mismatch found i type with underlying type In
  • 如何解决 Flutter 中的操作系统错误:权限被拒绝,errno = 13

    我想将我的文档文件存储到 存储 模拟 0 下载 我收到这个错误 未处理的异常 FileSystemException 无法打开文件 路径 storage emulated 0 Download file pdf 操作系统错误 权限被拒绝 e
  • 未设置文件名时读取 SharedPreferences

    当您在 Android 上创建 PreferenceScreen 时 您的应用程序会为设置创建默认的 SharedPreferences 文件 我想阅读这个名字 或者在不指定名字的情况下获得参考 目前我使用 SharedPreference
  • 如何设置和获取Redis中存储的对象?

    我试图在 redis 中存储一个对象 当我获取该对象时 它似乎不起作用 I tried u User new u name blankman redis set test u x redis get test x name error 我想
  • Jquery post 无法在 IE 8 或更早版本中工作

    所以这个功能在除IE以外的所有浏览器中都有效 我只能访问 IE 8 所以不能说新版本是否有效 我无权访问 PHP 或它如何调用 SQL DB 所以我不能肯定地说这是 JavaScript IE 中永远不会触发警报 post http foo
  • 用于根据源列表移动文件的 Powershell 脚本 (.txt

    我的目录中有数千个文件 pdf xls doc 它们都有相似的命名约定 类型 始终是常量字符串 即 账单或发票 帐户名称 帐号 type pdf 帐户名称 帐号 type doc 帐户名称 帐号 type xls 手头的任务是接收帐户名和帐
  • SeleneseTestCase 已弃用 - 如何调用 verify* 方法?

    当我在 Selenium IDE 中使用 JUnit 4 格式化程序生成的代码时 我收到警告 称类 SeleneseTestCase 已弃用 这是有道理的 因为它应该采用 JUnit 4 语法并使用注释 而不是从测试类派生 问题是当我修改代
  • Twitter 宝石搜索方法

    我的代码在这里 require twitter search Twitter Search new containing obama 它返回我们
  • laravel 基本查询中“允许的内存大小已耗尽 134217728 字节”

    我不知道为什么我无法让以下工作正常工作 DB table twitter hashtags gt paginate 5 每次我得到 第二个数字往往不同 Allowed memory size of 134217728 bytes exhau