Estimados:
Tengo un formulario que sube una entrada a una base de datos y, por otro lado, sube una imagen a un directorio local, mediante otro modelo, al que llamo desde un mismo controlador en un única vista, Mi pregunta:
¿es esto posible, se puede tener la vista con varios modelos y que el formulario mande datos a uno u otro? ¿Por qué el formulario no me carga la imagen si realizo un var_dump de $_POST?
La accion del controlador es:
public function actionCreate()
{
$model = new Feeds();
$model2 = new ImagenForm();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
$model->usuariosid = Yii::$app->user->id;
$model->contenido = $model->contenido;
$model->created_at = date('Y-m-d H:i:s');
$model->save();
$model2->imagen = UploadedFile::getInstance($model2, 'imagen');
$model->upload($model2->id);
return $this->redirect(['site/index', 'id' => $model->id]);
}
return $this->redirect(['site/index', 'id' => $model->id]);
}
Y este es el formulario en la vista Index:
$form = ActiveForm::begin([
'action' => ['feeds/create'],
'method' =>'get',
'options' => ['enctype' => 'multipart/form-data'],
]); ?>
<?= $form->field($model, 'contenido')->textarea(['rows' => 4]) ?>
<?= $form->field($model, 'imagen')->fileInput() ?>
<?= Html::submitButton('Publicar', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?>
<?php ActiveForm::end(); ?>
Gracias por la ayuda