Good afternoon friends, I come to you to help me make an update to a table in yii 2, I show them the code of my controller so they can give me suggestions:
public function actionCancelarconsulta(){
// asigno a variables los datos que utilizare para la actualizacion
$fecha = date('Y-m-d H:i:s');
$idActualiza = Yii::$app->user->identity->id;
$nombreActualiza = Yii::$app->user->identity->nombre;
$apellidosActualiza = Yii::$app->user->identity->apellidos;
// aqui solo concateno el id y el nombre y apellidos de quien esta realizando la actualizacion
$actualizadoPor = $idActualiza." - ".$nombreActualiza." ".$apellidosActualiza;
// Estos son los campos que recojo de mi vista
$request = Yii::$app->request;
$idConsulta = $request->post('idConsulta');
$motivoCancelacion = $request->post('motivoCancelacion');
// Consulto mi tabla de nombre tratamiento
$eliminaConsulta = Tratamiento::find()->where(['id' => $idConsulta])->one();
// verifico que el campo de descripcion no este vacio, si trae datos entra a la operacion
if (!empty($motivoCancelacion)) {
//Aqui es donde asigno los valores a los campos que deseo actualizar
$eliminaConsulta->estatus = 2;
$eliminaConsulta->actualizadoPor = $actualizadoPor;
$eliminaConsulta->motivoCancelacion = $motivoCancelacion;
$eliminaConsulta->fechaCancelacion = $fecha;
// si se inserta procedo a la vista principal (Tabla general)
if ($eliminaConsulta->update()) {
$searchModel = new TratamientoSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
// sino muestro el error (Siempre cae en esta condicion y no se actualiza el registro)
}else{
echo "No se inserto";
}
// si el campo motivoCancelacion no trae datos lo redirecciono a la misma vista con un mensaje de advertencia
}else{
$table = Tratamiento::find()->where(['id' => $idConsulta])->one();
$msg = "campoincompleto";
return $this->render('cancelarconsulta', array(
'idConsulta' => $idConsulta,
'table' => $table,
'msg' => $msg,
));
}
}
public function actionAsignarnumconsultas($id){
#$totalConsultas = Tratamiento::find()->where(['idPaciente' => $id])->count();
$totalConsultas = 1;
if ($totalConsultas == 1) {
echo "<option value='primera vez' >Primera Vez</option>";
}elseif($totalConsultas > 1){
echo "<option value='subsecuente' >Subsecuente</option>";
}else{
echo "<option> --- </option>";
}
}
The detail is not updated and it always happens to the error of not updated.
Cabe mentions that in different occasions I have updated in this way, but in this occasion I can not see where the error could be ... I would appreciate very much if you would lend me a hand.
Thank you in advance