Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 6 da Aula 2 - Conectando no Banco de Dados

Estou com problemas para exibir meu método de buscar todos produtos.

A conexão com o mysql está ok o problema é que o sistema está apresentando o seguinte erro:

An uncaught Exception was encountered

Type: RuntimeException

Message: Unable to locate the model you have specified: Produtos_model.php

Filename: C:\Program Files (x86)\xampp\htdocs\projetos\Alura\Codeigniter\Mercado\system\core\Loader.php

Line Number: 314

Backtrace:

File: C:\Program Files (x86)\xampp\htdocs\projetos\Alura\Codeigniter\Mercado\application\controllers\produtos.php
Line: 8
Function: model

File: C:\Program Files (x86)\xampp\htdocs\projetos\Alura\Codeigniter\Mercado\index.php
Line: 292
Function: require_once

Segue meu model:

    <?php

    class Produtos_model extends CI_Model {

        public function buscaTodos() {
            return $this->db->get("produtos")->result_array();
        }

    }

Segue meu controller:


<?php

class Produtos extends CI_Controller {

    public function index(){

        $this->load->database();
        $this->load->model("produtos_model.php");
        $produtos = $this->produtos_model->buscaTodos();

        $dados = array("produtos" => $produtos);

        $this->load->view("produtos/index.php", $dados);

    }

}

Segue minha view:


<!DOCTYPE html>
<html>
<head>
    <title>Listagem de produtos</title>
    <link rel="stylesheet" href="css/bootstrap.css">
</head>
<body>
    <div class="container">
    <h1>Produtos</h1>
    <table class="table">
    <?php foreach ($produtos as $produto) { ?>
        <tr>
            <td><?= $produto["nome"]; ?></td>
            <td><?= $produto["preco"]; ?></td>
        </tr>    
    <?php } ?>
    </table>    
</body>
</html>
3 respostas
solução!

Olá Ygor.

No seu controler (produtos.php)

Na linha 5 você digitou :

$this->load->model("produtos_model.php");

Experimenta tirar a extensão ".php" digitando apenas "produtos_model".

Ficaria assim:

$this->load->model("produtos_model");

Se der certo dá um retorno , senão a gente tenta outra coisa. Abraços

Olá Edson obrigado pelo rápido retorno.

Deu certo sim, pensei que aceitava com a extensão também.

Tem alguma configuração para melhorar isso?

Abraços.

Beleza Precisando é só chamar

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software