Laravel Mutator每次调用时都会查询

时间:2017-01-24 20:13:56

标签: php laravel laravel-5 eloquent accessor

我有一个文档模型,其中包含另一个表中的增值税ID字段。当我使用mutator调用vat模型的value列时,每次调用模型类时都会查询它,是否有另一种预取值的方法?

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

1 个答案:

答案 0 :(得分:1)

您应该像这样设置增值税关系:

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

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

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