为Laravel模型属性使用其他列名称

时间:2018-06-29 08:47:26

标签: php laravel

我有一个Laravel模型,该模型具有foo属性。但是,在数据库中,我要传递给foo的值存储在bar列中。 在不更改数据库结构的情况下,有什么办法可以做到?它由我与之集成项目的第三方所有,但我实际上并没有控制他们的数据库结构。

我已经设法使用$connection$table建立与所述数据库的连接,但是映射属性仍然是一个问题。

1 个答案:

答案 0 :(得分:6)

您可以为此创建一个mutator

public function setFooAttribute($foo)
{
    $this->attributes['bar'] = $foo;
}

方法名称的Foo部分引用模型上的属性,然后在方法内部为查询设置bar属性。