更改模型中的字段/属性值 - 拉拉维尔


Change field/attribute value in model - Laravel

我有products带有price列的表格。在模型中,我想做这样的事情:

public function getPriceAttribute()
{
    return number_format($this->price);
}

所以鉴于我使用

{{ $property->price }} €

并获取值200而不是200.00如何从数据库中十进制

这可能吗?

这就是解决我的问题的原因:

public function getPriceAttribute()
{
    return number_format($this->attributes['price']);
}

这将覆盖$property->price值(根据注释)

您可以通过将原始值作为参数传递来做到这一点,如下所示:

public function getPriceAttribute($price)
{
   return number_format($price);
}

你可以在这里找到更多关于突变者(和施法)的信息:https://laravel.com/docs/8.x/eloquent-mutators