我有一个Laravel模型,该模型具有foo
属性。但是,在数据库中,我要传递给foo
的值存储在bar
列中。
在不更改数据库结构的情况下,有什么办法可以做到?它由我与之集成项目的第三方所有,但我实际上并没有控制他们的数据库结构。
我已经设法使用$connection
和$table
建立与所述数据库的连接,但是映射属性仍然是一个问题。
答案 0 :(得分:6)
您可以为此创建一个mutator:
public function setFooAttribute($foo)
{
$this->attributes['bar'] = $foo;
}
方法名称的Foo
部分引用模型上的属性,然后在方法内部为查询设置bar
属性。