Ojalá este recorte ayude:
 
controlador   
Código PHP:
Ver original<?php
 
class articulos
{
 
    var $db;
 
    function posts()
    {
        include NOVEDADES."app/bd/articulos.php";
        $this->db = new novedad();
    }
 
    function index()
    {
        ...
        $data['articulos'] = $this->db->listar_articulos();
        ...
    }
 
    function crear()
    {
    
    }
    
    function aprobar($id_articulo)
    {           
        if ( $this->db->aprobar_articulo($id_articulo) )
    }
    
     function ver($id_articulo)
    {
        ...
        $data['articulo'] = $this->db->obtener_articulo($id_articulo);
        ...
    }
}
?>
  
Modelo   
Código PHP:
Ver original<?php
 
class articulo
{
    function articulos()
    {
        include_once(COMMONS."app/db/conexion.php");
        $conexion = Conexion::getInstance(); // singleton
    }
    
    function listar_articulos($cantidad = 9, $solo_aprobados = false)
    {
        ...
    }
    
    function obtener_articulo($id_articulo)
    {
        ...
    }
    
    function aprobar_articulo($id){
 
        $consulta = "UPDATE articulos SET estado='1' WHERE id = '$id'";
 
        return true;
    }
 
    function eliminar_articulo($id_articulos)
    {
        $consulta = "DELETE FROM articulos WHERE id = '$id_articulos'";
        
        return true;
    }   
}
?>
  
Por una convencion que seguí, el modelo va en singular, pero el controlador en plural.  
 Cita:  que esta clase tenga como propiedad al menos un objeto relacionado con otra tabla
    Si no te mal interpreto, basta con algo así dentro de alguna de tus funciones:    
Código PHP:
Ver originalinclude (APP."modelos/cometarios.php");
$db_comentarios = new Comentario();
 
$data['comentarios'] = $db_comentarios->obtener_comentarios();