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.

No puedo pasar los datos del controlador a la vista en CodeIgniter 3.

No puedo pasar los datos del controlador a la vista en CodeIgniter 3. Todo parece estar bien. ¿Necesito poner la parte del controlador en el método index()?

Donor_Model.php

function viewDonors() {
        $query = $this->db->get('donors');
        return $query;
    }

Controlador Staff.php

public function viewDonors()
    {
    $this->load->Model('Donor_Model');
    $data['donors'] = $this->Donor_Model->viewDonors();
    $this->load->view('viewdonors', $data);
}

Cuando intento llamar a $data en la vista viewdonors.php, muestra $donors como indefinido.

Captura de pantalla de viewdonors.php: https://i.stack.imgur.com/xgqx9.png

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar en la sintaxis utilizada para acceder a los datos en el archivo de vista. Asegúrate de utilizar el nombre de variable correcto al acceder a los datos en el archivo de vista. Parece que en el controlador, estás pasando los datos como un array con la llave ‘donors’.

    $data['donors'] = $this->Donor_Model->viewDonors();

    Entonces, en el archivo de vista, debes acceder a ellos como $donors y no como $data o $data['donors'].

    Además, asegúrate de que el archivo de vista esté nombrado viewdonors.php y esté almacenado en la carpeta correcta de tu configuración de CodeIgniter.

    No necesitas colocar la parte del controlador en el método index(), pero sí debes asegurarte de que el método que carga la vista esté siendo llamado correctamente. En este caso, parece que el método viewDonors() está siendo llamado para cargar la vista.

    Si aún no puedes acceder a los datos en el archivo de vista, intenta imprimir los datos en el controlador antes de pasarlos a la vista para ver si se están recuperando correctamente en el modelo. Por ejemplo:

    $data['donors'] = $this->Donor_Model->viewDonors();
    print_r($data['donors']); // revisa si los datos se están recuperando correctamente
    $this->load->view('viewdonors', $data);
    

    ¡Espero que esto ayude!

Comments are closed.