为Laravel模型属性使用不同的列名

Iva*_* T. 0 php laravel

我有一个Laravel模型,它有一个foo属性.但是,在数据库中,我要传入的值foo存储在bar列中.有没有办法在不改变数据库结构的情况下做到这一点?它由我正在整合项目的第三方所拥有,而我实际上无法控制他们的数据库结构.

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

Rwd*_*Rwd 6

你可以为此创建一个mutator:

public function setFooAttribute($foo)
{
    $this->attributes['bar'] = $foo;
}
Run Code Online (Sandbox Code Playgroud)

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