Pregunta

Estoy cargando un modelo para mi sitio web basado en CodeIgniter, pero sigue dando un error:

"Fatal error: Call to a member function on a non-object in /nfs/c02/h05/mnt/30796/domains/planetchustar.com/html/arguit/system/application/controllers/home.php on line 8"

Aquí está la parte del código a la que hace referencia:

function index()
{
        $this->load->model('posts');    //error here
        $result = $this->Posts->get_all_topics();
}

El modelo se llama " Publicaciones " y su nombre de archivo es " posts.php " ;.

EDITAR: Descubrí uno de mis problemas, que era que no estaba cargando en la base de datos antes de intentar usar sus funciones, así que lo arreglé, pero ahora está diciendo:

A Database Error Occurred
Unable to connect to your database server using the provided settings.

Pero estoy seguro de que la información de conexión que guardé en el archivo database.php es precisa (obtenida del sitio web phpmyadin).

¿Fue útil?

Solución

La guía de usuario de codeigniter es un poco difícil de entender en este caso. SOLO el nombre del archivo debe estar en minúsculas, la 'carga' y la llamada ($ this- > Posts- > etc ()) deben coincidir con la declaración en el archivo modelo.

Definitivamente es un problema de sensibilidad al caso.

Otros consejos

¿Es 'posts' en un subdirectorio? Si es así, debe hacer referencia al subdirectorio durante la carga.

Si no es así, aquí es una publicación que puede ayudar.

Estoy de acuerdo con @arthur. Asegúrese de no haber intentado incrustar un controlador dentro de otro controlador.

Es un error de sensibilidad del caso ....

utilízalo así:

function index()
{
        $this->load->model('posts');    //error here
        $result = $this->posts->get_all_topics();//<-- Notice "posts" and not "Posts"
}

Esto significa que $ this- > load no es una referencia de objeto (lo más probable es que sea nulo). Por qué tal vez sea fácil de determinar una vez que sepas esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top