Выгрузка и загрузка данных

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
sneks
Сообщения: 21
Зарегистрирован: 2016.05.16, 11:44

Выгрузка и загрузка данных

Сообщение sneks »

Собственно код, который выгружает с базы 9000 строк, и при нажатии на сохранить отправляет post.
Жрет неймоверно, и при этом требует memory_limit не меньше 1 ГБ.
Подскажите пожалуйста как можно жер памяти уменьшить.

Код: Выделить всё

<?php

use yii\widgets\ActiveForm;
use yii\helpers\Html;

?>

<h1></h1>

<div class="form">

    <?php $form = ActiveForm::begin([
        'enableClientValidation'=>false
    ]); ?>

    <table>
        <?php foreach($items as $i=>$item): ?>
            <tr>
                <?php
                foreach ($item->displayFieldList[$field] as $property) {
                    echo '<td>' . $form->field($item,"[$i]{$property}")->label(false) . '</td>';
                }
                ?>
            </tr>
        <?php endforeach; ?>
    </table>

    <?= Html::submitButton('Save'); ?>
    <?php ActiveForm::end(); ?>

</div>
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выгрузка и загрузка данных

Сообщение zelenin »

не выгружать все $items в память, а воспользоваться итератором типа each(), который будет по одному элементу из базы вытаскивать в рамках одного запроса.
Ответить