2017-05-05 34 views
0

我有一些表具有相同的两个领域:如何替换另一个字段的值?

value, default_value

如何与default_value更换value当值为null返回结果?

我不使用迭代结果收集。我试图做出通用的解决方案。

我试图使用本地范围,但似乎是不好的决定。

+0

可能重复[COALESCE in laravel](http://stackoverflow.com/questions/33675277/coalesce-in-laravel) –

回答

1

如果您使用的口才,你可以这样创建存取:

public function getRealValueAttribute() 
{ 
    return $this->value ? $this->value : $this->default_value; 
} 

,并假设你得到的结果是这样的:

$items = Model::all(); 

,你可以像这样的模型显示此字段:

foreach ($items as $item) { 
    echo $item->real_value; 
} 
+0

以及如何调用访问器? – Garaman

+0

可能是'getValueAttribute()'没有Real? – Garaman

+0

@Garaman而不是,因为它与'value'相同,所以如果你需要使用普通值,可能会造成一些混淆,所以我建议你使用其他名称。 –

相关问题