I want to return in my code a list of users through a data query, I have the following model:
<?php
class Usuario{
public function listar($condicoes = array()){
$db = DB::criar('padrao');
$sql = "select * from func";
$where = array();
foreach($condicoes as $campo => $valor){
$where = "{$campo} = {$valor}";
}
if ($where != array()){
$where = " where " . implode(' and ', $where);
}else{
$where = '';
}
//Monta a query
$sql .= $where;
//Executa e retorna a lista
$resultado = $db->query($sql);
$lista = $resultado->fetch_all(MYSQLI_ASSOC);
$resultado->free();
return $lista;
}
//Método para encontrar um usuário pelo seu id
public function encontrar($id){
$condicao = array('id' => $id);
$item = self::listar($condicao);
return $item[0];
}
}
?>
And the control that renders the view and passes the result of the query:
<?php
class HomeControle extends Controle{
public function form(){
die('Método form executado');
}
public function listar(){
$this->modelo('Usuario');
$lista = array();
//Vincula a variável lista na visão
$this->visao->bind('lista', $lista);
//Lista os usuários cadastrados
$lista = $this->Usuario->listar();
//Renderiza a lista no navegador
$this->visao->render('Usuario/lista');
}
public function index(){
//Criando uma variável titulo
$this->visao->set('titulo','Meu primeiro MVC');
//Renderiza os dados
$this->visao->render('home/index');
}
}
?>
I noticed that the error is in this line:
$lista = $this->Usuario->listar();
But I could not solve it. Could you give me a light?