我的用户数据库中有四列和一个配置变量。在我看来,我需要显示这些列的总和除以变量 - 简单到足以计算,但理想情况下我希望将结果作为属性存储在模型中。
基本上要避免这样做:
$user = Auth::user();
$user->setPercent();
dd($user->percent);
我想要做的是自动设置百分比属性,但我不知道该怎么做。我已经尝试重写模型构造函数,但是那时还没有检索到用户的数据。
由于
答案 0 :(得分:2)
要创建您只需要向您的用户模型添加这样的方法:
class User extends BaseModel implements UserInterface, RemindableInterface {
public function getPercentAttribute($value)
{
/// do your magic
return $yourMagicValue
}
}
按照您所说的方式使用它:
$user->percent
答案 1 :(得分:0)
如果你想在创建对象时拥有这个属性,请执行:
public function __construct($attributes = array())
{
if (!isset($this->percent))
$this->percent = $this->setPercent();
parent::__construct($attributes);
}
这对我有用