title: Loading multiple codeigniter models with same function names causing overwriting?
body: <p>If inside my controller's constructor, I load two different models for example,</p>
  
  <pre><code>$this-&gt;load-&gt;model('Pens_model');
  $this-&gt;load-&gt;model('Pencils_model');
  </code></pre>
  
  <p>where each model extends MY_Model, and MY_Model has the following outline,</p>
  
  <pre><code>class MY_Model extends Model
  {
  
  protected static $tablename = "";
  protected static $title = "";
  protected static $idattribute = 'id';
      ...
      ...
      function getTableName(){
      return self::$tablename;
  }
  }
  </code></pre>
  
  <p>The pens model has:</p>
  
  <pre><code>class Pens_model extends My_model {
  
      function Pens_model(){
          parent::MY_Model();
          self::$tablename = "pens";
          self::$title = 'Pens';
      }
          ...
  }
  </code></pre>
  
  <p>and the Pencils model has a similar constructor with tablename as '<em>pencils</em>'.</p>
  
  <p>Now the controller's index function has the following,</p>
  
  <pre><code>echo $this-&gt;Pens_model-&gt;getTableName()."\n";
  echo $this-&gt;Pencils_model-&gt;getTableName()."\n";
  </code></pre>
  
  <p>What I observe is that the table name of the model which was loaded last (pencils in this case) is printed out twice - as though the tablename and functions were being overwritten.
  Is this a CI bug/limitation or an error in my implementation ?</p>