Bom dia,
Estou com problemas para acessa o método de inserção de uma página do meu MVC.
Tenho o controller Category criado, e no seu _construct, coloquei o redirecionamento para sua view, e fiz a requisição do model para exibir as categorias cadastradas na tela. Quando crio o método cadastrar, e peço para acessar o model, recebo erro " Fatal error: Cannot declare class CategoryModel, because the name is already in use in E:XXX\model\CategoryModel.php on line 24". Já tentei instanciar em outras páginas e até desconstruir o inicio para poder acessar o formulário e a inserção de novos dados, porém o erro ainda ocorre.
Segue os arquivos em questão:
CategoryController.php
<?php
use app\lib\Controller;
class CategoryController extends Controller {
public function __construct() {
echo '<p><h1>(categorycontroller.php)Category Controller Page</h1></p>';
parent::__construct();
$table = 'category';
$data = array();
$model = $this->load->model('CategoryModel');
$data['cat'] = $model->ListAll($table);
$this->load->view('category/home', $data);
}
public function cadastrar() {
$table = 'category';
$data = array(
'category_name' => 'Viagem',
'category_title' => 'Viagem',
'category_status' => 'E',
);
$model = $this->load->model('CategoryModel');
$model->Insert($table, $data);
}
}
CategoryModel.php
<?php
use app\lib\Model;
class CategoryModel extends Model {
public function __construct() {
echo '<p>(category.php)Model Category da Página Category</p>';
parent::__construct();
}
public function ListAll($table) {
$sql = 'SELECT * FROM ' . $table . ' ORDER BY category_name ASC';
return $this->db->Read($sql);
}
public function ListOne($table, $id) {
$sql = 'SELECT * FROM ' . $table . ' WHERE id = :id';
$data = array(':id' => $id);
return $this->db->Read($sql, $data);
}
public function Insert($table, $data) {
return $this->db->Create($table, $data);
}
}