2017-05-05 32 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'相同,所以如果你需要使用普通值,可能會造成一些混淆,所以我建議你使用其他名稱。 –

相關問題