2013-05-31 174 views
1

我在用戶數據庫和配置變量中有四列。在我看來,我需要顯示這些列除以變量的總和 - 簡單得足以計算,但理想情況下,我希望將結果存儲爲模型中的屬性。將屬性添加到模型

基本上避免這樣做:

$user = Auth::user(); 
$user->setPercent(); 

dd($user->percent); 

我想要做的是有一個百分比的屬性自動設置的,但我不知道在哪裏做。我試過重寫模型構造函數,但是用戶的數據在那時還沒有被檢索到。

感謝

回答

2

要創建你只需要像這樣的方法添加到您的用戶模型:

class User extends BaseModel implements UserInterface, RemindableInterface { 

    public function getPercentAttribute($value) 
    { 
     /// do your magic 

     return $yourMagicValue 
    } 

} 

要使用它,你說你需要的方式:

$user->percent 
0

而且如果要在創建對象時想具有此屬性,請執行以下操作:

public function __construct($attributes = array()) 
{ 
    if (!isset($this->percent)) 
     $this->percent = $this->setPercent(); 

    parent::__construct($attributes);  
} 

這適用於我

相關問題