Почему в yii1.1 не сохраняется табличный ввод?

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

Почему в yii1.1 не сохраняется табличный ввод?

Сообщение Vyacheslav_Shilov »

Обрабатываю табличный ввод.
https://www.yiiframework.com/doc/guide/ ... form.table
Изображение
Делаю все по документации, только заменил поля на свои.
В посте сохраняется (вверху слева на скрине), в базу данных нет.
Ссылка на скриншот:
https://prnt.sc/ttpdye
Код контроллера:

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

<?php

class Home5Controller extends Controller
{
	public function actionIndex()
	{
        $items = Post1::model()->findAllByAttributes(array('phone' => array(1)));
        //$items=$this->getItemsToUpdate();
        if(isset($_POST['Post1'])){
        foreach ($_POST['Post1'] as $post) {
            foreach ($post as $a)
                echo $a . "<br>";
        }

        }
        if(isset($_POST['Post1']))
        {
            $valid=true;
            foreach($items as $i=>$item)
            {
                if(isset($_POST['Post1'][$i]))
                    $item->attributes=$_POST['Post1'][$i] or die('mm');
                $valid=$item->validate() && $valid;
            }
            if($valid)
                echo 'ss';
    }
        // отображаем представление с формой для ввода табличных данных
        $this->render('index',array('items'=>$items));
		//$this->render('index');
	}

}
Код вью:

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

<?php
/* @var $this Home5Controller */

?>
<div class="form">
    <?php echo CHtml::beginForm(); ?>
    <table>
        <tr><th>Имя</th><th>Стоимость</th><th>Количество</th><th>Описание</th></tr>
        <?php foreach($items as $i=>$item): ?>
            <tr>
                <td><?php echo CHtml::activeTextField($item,"[$i]id"); ?></td>
                <td><?php echo CHtml::activeTextField($item,"[$i]name"); ?></td>
                <td><?php echo CHtml::activeTextField($item,"[$i]lastname"); ?></td>
                <td><?php echo CHtml::activeTextField($item,"[$i]phone"); ?></td>
            </tr>
        <?php endforeach; ?>
    </table>

    <?php echo CHtml::submitButton('Сохранить'); ?>
    <?php echo CHtml::endForm(); ?>
</div><!-- form -->
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Почему в yii1.1 не сохраняется табличный ввод?

Сообщение ElisDN »

Потому что $item->save(false) после валидации не сделали.
Ответить