es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Yii2 – Solicitud incorrecta (# 400) Parámetros requeridos faltantes en index.php

Tengo un problema con la vista, actualización y eliminación en la página index.php, siempre muestra una solicitud incorrecta (#400) Faltan parámetros requeridos: idkategori y la dirección siempre va a localhost/training/frontend/web/index.php?r=kategori%2F(view/update/delete)&id=1, pero cuando cambio la dirección manualmente a localhost/training/frontend/web/index.php?r=kategori%2Fview&idkategori=1 no hay problema, también puedo crear una acción pero luego redireccionará la página a localhost/training/frontend/web/index.php?r=kategori%2Fview&id=1. Aquí está el código, generado por Gii CRUD:

    public function actionView($id_kategori)
    {
        return $this->render('view', [
            'model' => $this->findModel($id_kategori),
        ]);
    }
    public function actionUpdate($id_kategori)
    {
        $model = $this->findModel($id_kategori);
        if ($this->request->isPost && $model->load($this->request->post()) && $model->save()) {
            return $this->redirect(['view', 'id_kategori' => $model->id_kategori]);
        }
        return $this->render('update', [
            'model' => $model,
        ]);
    }
    public function actionDelete($id<em>kategori)
    {
        $this->findModel($id</em>kategori)->delete();

        return $this->redirect(['index']);
    }

¿Debo cambiar el nombre de la columna idkategori a id y otras columnas id a solo id?

Versión: Yii 2 (2.0.43)

Plantilla: Plantilla Avanzada

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que las URL generadas por Gii CRUD no están configuradas correctamente para coincidir con los nombres de las columnas de su base de datos. Cambiar el nombre de la columna a “id” sería una solución, pero no es estrictamente necesario.

    Para solucionar el problema, puede modificar las URL generadas por Gii CRUD para usar los nombres de parámetros correctos. En este caso, debería cambiar “id_kategori” a “id” en las URL de las acciones de visualización, actualización y eliminación.

    Por ejemplo, la acción de visualización debería verse así:

    public function actionView($id)
    {
        return $this->render('view', [
            'model' => $this->findModel($id),
        ]);
    }
    

    Y las URL generadas por Gii CRUD deberían modificarse en consecuencia:

    localhost/training/frontend/web/index.php?r=kategori/view&id=1
    

    Una vez que haya realizado estos cambios, las URL deberían funcionar correctamente y el error de “solicitud incorrecta” debería resolverse.

Comments are closed.