1

我的用户数据库中有四列和一个配置变量。在我看来,我需要显示这些列的总和除以变量 - 计算起来很简单,但理想情况下我希望将其结果存储为模型上的属性。

基本上避免这样做:

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

dd($user->percent);

我想做的是自动设置百分比属性,但我不知道在哪里做。我尝试过覆盖模型构造函数,但此时尚未检索到用户的数据。

谢谢

4

2 回答 2

2

要创建,您只需将这样的方法添加到您的用户模型中:

class User extends BaseModel implements UserInterface, RemindableInterface {

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

        return $yourMagicValue
    }

}

要按照您所说的方式使用它,您需要:

$user->percent
于 2013-05-31T07:46:44.447 回答
0

如果您想在创建对象时拥有此属性,请执行以下操作:

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

    parent::__construct($attributes);       
}

这对我有用

于 2015-10-28T14:38:39.800 回答