2014-10-19 55 views
0

我試圖在Laravel項目中爲我的一個模型創建一個新屬性,但每當我嘗試這樣做時,我都會得到ErrorException。這裏是我的模型代碼:Laravel模型告訴我我嘗試創建的屬性不存在?

class Journey extends Eloquent { 

    public function getArticleAttribute($value) { 

     if (is_null($this->article)) { // Exception occurs here 
      $this->article = file_get_contents($this->article_url); 
     } 

     return $this->article; 
    } 
} 

及時與我收到此錯誤:

Undefined property: Journey::$article 

就行了,我上面的代碼高亮顯示。

那麼,它當然沒有定義!這就是爲什麼我要創造它!這應該是非常簡單的,但它不工作。有任何想法嗎? $this->article_url定義和存在,所以這個問題是不是與...

回答

1

如果「文章」是不是你的數據庫表中的列,你應該把它定義爲類屬性:

class Journey extends Eloquent { 

    protected $article = null; 

    public function getArticleAttribute($value) { 

     if (is_null($this->article)) { // Exception occurs here 
      $this->article = file_get_contents($this->article_url); 
     } 

     return $this->article; 
    } 
}