【问题标题】:How to ignore mutators and accessors when required需要时如何忽略修改器和访问器
【发布时间】:2016-02-19 10:44:04
【问题描述】:

我使用 Laraval 的 Accessors and Mutators 通过在我的模型上执行此操作来实质上覆盖我桌子上的 group 列;

public function getGroupAttribute($value)
{
    if(config('app.pages.'.$value)) {
        return $value;
    }
    return "city";
}

所以如果$value 在配置中,则返回$value,否则返回默认值。

效果很好。唯一的问题是现在我使用Maatwebsite 导出数据集,我实际上需要存储在数据库中的真实值。目前,它并没有这样做,它只在通过上述方法“变异”后返回group

我能做什么?

【问题讨论】:

  • 您可以手动获取模型的数据到数组,并传递数组。
  • 你可以吗?如何?我认为它仍然会通过 mutator 进行
  • Eloquent 正在使用 Mutators,但 Models 仍然是 php 对象,因此您可以照常访问它们。

标签: php laravel-5 maatwebsite-excel


【解决方案1】:

我认为覆盖标准属性不是一件好事。

您可以使用与属性不同的名称来创建自己的 mutator,例如 getComputerGroupAttribute,因此您可以在需要时使用对象的原始成员。

【讨论】:

    猜你喜欢
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多