Я новичок в Yii2 (в PHP, в общем-то, тоже), пытаюсь
копипастом отсюда изменить фиксированный набор записей.
Есть таблица skills_checked (там только одно поле 'value', которое надо изменить), для которой сгенерировал с помощью Gii модель. Затем сделал вот такой экшн в контроллере:
public function actionUpdate($id)
{
$sk_ch = SkillsChecked::find()->indexBy('id')->where(['students_id' => $id]);
if (SkillsChecked::loadMultiple($sk_ch, Yii::$app->request->post(), '') && SkillsChecked::validateMultiple($settings)) {
foreach ($sk_ch as $sk) {
$sk->save(false);
}
return $this->redirect('index');
}
$dataProvider = new ActiveDataProvider([
'query' => $sk_ch,
]);
return $this->render('update', ['models' => $dataProvider, 'id' => $id]);
}
Вот так выглядит view:
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\bootstrap\Button; ?>
<?php $form = ActiveForm::begin([
'id' => 'update',
'options' => ['class' => 'form-horizontal'],
]); ?>
<?php
foreach ($models->getModels() as $index=>$model) {
echo $form->field($model, "[$index]value")->label($model->skills_id);
} ?>
<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('Сохранить', ['class' => 'btn btn-primary']) ?>
</div>
</div>
<?php ActiveForm::end();
?>
Как видите, практически копипаста. Однако, метод "SkillsChecked::loadMultiple" вообще не возвращает никаких значений. Вероятно, я где-то что-то сделал не так, да?