重复突变体

Repeat Mutators

我使用了几个在不同模型和相同模型中基本相同的修改器,用于不同的领域。例如:整理日期:

    public function getStartShortDateAttribute()
    {
        return $this->start_time->format('d-m-y');
    }

是否有一种标准方法可以跨模型为多个字段重用相同的增变器?

使用 trait,这是一种跨 class 重用代码的方法。

trait HasStartTimes {
    public function getStartShortDateAttribute()
    {
        return $this->start_time->format('d-m-y');
    }
}

现在您可以通过 use 语句在 class 中使用此特征。完成后,它将在使用特征的 classes 中包含特征函数。这是一种已在 Laravelsee AuthenticatesUsers.

中使用的设计方法
class YourModel {
    use HasStartTimes;
}