function retornarDato($model, $tipo, $origen = false) { if ($tipo == 'Municipio') { $val = $model->cod_municipio; if ($origen) { $val = $model->cod_mun_origen; } $objMunicipio = Municipio::find()->where('codigo = :valor', [':valor' => $val])->one(); return $objMunicipio->nombre; } else { if ($tipo == 'Nacionalidad') { $objNacionalidad = Nacionalidad::find()->where('codigo = :valor', [':valor' => $model->cod_nacionalidad])->one(); return $objNacionalidad->nombre; } else { if ($tipo == 'EstadoCivil') { $objEstCivil = EstadoCivil::find()->where('codigo = :valor', [':valor' => $model->cod_estado_civil])->one(); return $objEstCivil->nombre; } else { if ($tipo == 'Persona') { if ($model->cod_persona != null || $model->cod_persona != '') { $query = new Query(); $query->select(['p.codigo', 'nombre_completo' => 'CONCAT(p.nombre, " ", p.apellido)'])->from('persona p')->where('p.codigo = :valor', [':valor' => $model->cod_persona]); $command = $query->createCommand(); $data = $command->queryOne(); return $data['nombre_completo']; } else { return null; } } else { return null; } } } } }
<?php echo $form->field($model, 'profesion')->textInput(['maxlength' => true]); ?> <?php /*Antes debo verificar si esta o no inicializado, esto dependera de si se inserta o actualiza y he de inicializar segun corresponde*/ if ($model->isNewRecord) { $model->estado = 'Activo'; } else { echo $form->field($model, 'estado')->radioList(array('Activo' => 'Activo', 'Inactivo' => 'Inactivo')); } ?> <?php echo $form->field($model, 'cod_nacionalidad')->dropDownList(ArrayHelper::map(Nacionalidad::find()->all(), 'codigo', 'nombre')); ?> <?php echo $form->field($model, 'cod_estado_civil')->dropDownList(ArrayHelper::map(EstadoCivil::find()->all(), 'codigo', 'nombre')); ?> <?php if ($model->isNewRecord) { echo $form->field($model, 'nombre_usuario')->dropDownList(ArrayHelper::map(Usuario::find()->where('NOT EXISTS ( SELECT nombre_usuario FROM persona WHERE persona.nombre_usuario = usuario.nombre )')->all(), 'nombre', 'nombre'), ['prompt' => 'Seleccione un usuario']); } else {