Обрабатываю табличный ввод.
https://www.yiiframework.com/d… form.table
Делаю все по документации, только заменил поля на свои.
В посте сохраняется (вверху слева на скрине), в базу данных нет.
Код контроллера:
<?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');
}
}
Код вью:
/* @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 -->```