Laravel Mutator 每次调用时查询

Laravel Mutator Queries every time it's called

我有一个文档模型,其中包含来自另一个 table 的增值税 ID 字段。当我使用修改器调用 vat 模型的值列时,每次调用模型 class 时都会查询它,是否有预取值的替代方法?

public function getVatValueAttribute($value)
{
    $vat = Vat::find($this->vat);
    return $vat->value;
}

您应该像这样设置 vat 关系:

public function vatRel()
{
  return $this->belongsTo(Vat::class, 'vat');
}

现在您可以像这样实现此方法:

public function getVatValueAttribute($value)
{
    return $this->vatRel->value;
}