【问题标题】:Laravel Mutator Queries every time it's calledLaravel Mutator 每次调用时都会查询
【发布时间】:2017-01-24 20:13:56
【问题描述】:

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

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

【问题讨论】:

    标签: php laravel laravel-5 eloquent accessor


    【解决方案1】:

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

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

    现在你可以像这样实现这个方法:

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

    【讨论】:

    • 在增值税表中有一个 id、名称、值,我已经有一个映射到 id 的关系,如您所见,我调用 $this->vat 存储 id 的属性
    • 没关系,漫长的一天.. 这个答案让我解决了这个问题,坏事是我必须一直在初始查询中使用 with。谢谢
    猜你喜欢
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 2021-08-19
    • 2022-06-27
    • 2011-10-11
    • 2015-11-25
    • 1970-01-01
    相关资源
    最近更新 更多