title: Wierd constructor behavior
body: <p>I have a problem with the constructor of a model I have. I use Laravel-3 with Eloquent ORM.</p>
  
  <p><strong><em>Here's the behavior I would expect :</em></strong></p>
  
  <pre><code>Class A{
      $dat_var = 1;
      public function __construct{
          $this-&gt;dat_var = 2;
      }
  }
  
  Class B extends A{
      public function __construct{
          echo 'before : '.$var;
          parent::__construct();
          echo 'after: '.$var;
      }
  }
  
  Class Test{
      public function myTestMethod2(){
          $b = new B();
      }
  }
  </code></pre>
  
  <p>Result of myTestMethod1() :</p>
  
  <pre><code>before : 1
  after : 2
  </code></pre>
  
  <p>But with my Laravel object which extends Eloquent, the variable is unsetted until the object has finished constructing. I guess this have something to do with the fact that the variable I need in my Eloquent model is loaded from the DB. But anyway, <strong>is there any elegant work-around for this</strong> or <strong>am I doing something wrong</strong>?</p>
  
  <p><strong><em>Here's my DB table :</em></strong></p>
  
  <pre><code>--------------
  -table_c     -
  --------------
  -id  | my_var-
  --------------
  -1   | 5     -
  --------------
  </code></pre>
  
  <p><strong><em>Here's my laravel code :</em></strong></p>
  
  <pre><code>Class C extends Eloquent{
      public static $table = 'table_c';
  
      public function __construct{
          //Usefull things here
          parent::__construct();
          echo 'In construct : '.$this-&gt;my_var;
      }
  }
  
  Class Test{
      public function myTestMethod2(){
          $c = C::find('1');
          echo 'Construct finish : '.$c-&gt;my_var
      }
  }
  </code></pre>
  
  <p>Result of myTestMethod2() :</p>
  
  <pre><code>In construct :
  Construct finish : 5
  </code></pre>
  
  <p>What I expected of myTestMethod2() :</p>
  
  <pre><code>In construct : 5
  Construct finish : 5
  </code></pre>