PHP Mvc pattern mutiple db queries

I am practicing MVC and I find it quite confusing , after following and reading some tutorials I managed to create an MVC .. but I encountered 1 problem .. my pattern is wrong , I can create multiple query functions and add them on the same page . This is the code:

Classes:

<?php

abstract class Controller {
  protected $request;
  protected $action;

  public function __construct($action, $request) {
    $this->action = $action;
    $this->request = $request;
  }

  public function executeAction(){
    return $this->{$this->action}();
  }

  protected function returnView($viewmodel, $fullview){
    $view = 'views/'.get_class($this). '/' . $this->action. '.php';
    if($fullview){
      require('views/main.php');
    }else {
      require($view);
    }
  }
}

Here are the classes :

<?php

class Shares extends Controller{
  protected function Index(){
    $viewmodel = new ShareModel();
    $this->ReturnView($viewmodel->Index(),true);
  }

  protected function add(){
    $viewmodel = new ShareModel();
    $this->returnview($viewmodel->add(), true);
  }
}

This is the view :

<div>

  <a class="btn btn-success btn-share" href="<?php echo ROOT_URL;?>shares/add">Share something</a>
  <?php foreach($viewmodel as $item) : ?>
    <div class="well">
      <h3><?php echo $item['title'];?></h3>
      <small><?php echo $item['create_date'];?></small>
      <hr />
      <p><?php echo $item['body']; ?></p>
      <a class="btn btn-default" href="<?php echo $item['link']; ?>" target="_blank">Go to the website</a>
    </div>
  <?php endforeach; ?>

</div>

This is the model :

<?php

class ShareModel extends Model{
  public function Index(){
    $this->query('SELECT * FROM shares ORDER BY create_date DESC ');
    $rows = $this->resultsSet();
    return $rows;
  }
}

My problem is that When I try to create another query in the models share.php

A query identical to this

  public function Index(){
    $this->query('SELECT * FROM shares ORDER BY create_date DESC ');
    $rows = $this->resultsSet();
    return $rows;
  }

When I loop inside the views I get errors that the var is not defined