> Faqs > No encuentra el metodo (Controller or its method is not found) en Codeigniter

No encuentra el metodo (Controller or its method is not found) en Codeigniter

Hola estoy siguiendo los tutoriales de Youtube en tu canal de Codeigniter4 de pos.

Al momento de hacer la vista me marca un error que no voy entendiendo me pueden ayudar a solucionar este problema.

404 - File Not Found
Controller or its method is not found: \App\Controllers\Unidades::getIndex

esto me vota en el navegador.

Unidades.php

<?php

namespace App\Controllers;

use App\Controllers\BaseController;
use App\Models\UnidadesModel;

class Unidades extends BaseController
{
    //Modelo/controlador
    protected $unidades;

    public function __construct()
    {
        $this->unidades = new UnidadesModel();
    }

    //--------------------------------------------------------------------

    //Controlador/vista
    public function index($activo = 1)
    {

        //select * from table where activo;   
        $unidades = $this->unidades->where('activo', $activo)->findAll();

        //Vista
        $data = ['titulo' => 'Unidades', 'datos' => $unidades];

        echo view('header');
        echo view('unidades/unidades', $data);
        echo view('footer');
    }
}

?>

UnidadesModel

<?php 

namespace App\Models;  //Ruta o Archivo

use CodeIgniter\Model;

class UnidadesModel extends Model
{
    protected $table      = 'unidades';
    protected $primaryKey = 'id_unidad';

    protected $returnType     = 'array';
    protected $useSoftDeletes = false;

    protected $allowedFields = ['nombre', 'nombre_corto', 'activo'];

    protected $useTimestamps = true;
    protected $createdField  = 'fecha_alta';
    protected $updatedField  = 'fecha_edit';
    protected $deletedField  = 'deleted_at';

    protected $validationRules    = [];
    protected $validationMessages = [];
    protected $skipValidation     = false;
}

?>

y no encuetro el error.

si pudieras orientarme.

Gracias

Respuestas

A todas luces parece que no existe el método getIndex() del controller Unidades.

Tienes un método que se llama index():

//Controlador/vista
public function index($activo = 1)
{

Podrías intentar renombrarlo por getIndex() o bien crear el método getIndex()

public function getIndex($activo = 1)
{
María
189 4 17 11