私は同じ2つのフィールドを持ついくつかのテーブルを持っている:フィールドの値を別のフィールドに置き換える方法は?
value, default_value
値がnullのときdefault_value
にvalue
を交換して、結果を返すためにどのように?
私は結果のコレクションで繰り返しを使用しません。私は普遍的な解決をしようとします。
ローカルスコープを使用しようとしましたが、悪い判断と思われます。
私は同じ2つのフィールドを持ついくつかのテーブルを持っている:フィールドの値を別のフィールドに置き換える方法は?
value, default_value
値がnullのときdefault_value
にvalue
を交換して、結果を返すためにどのように?
私は結果のコレクションで繰り返しを使用しません。私は普遍的な解決をしようとします。
ローカルスコープを使用しようとしましたが、悪い判断と思われます。
あなたが雄弁を使用する場合は、次のようにアクセサを作成することができます
public function getRealValueAttribute()
{
return $this->value ? $this->value : $this->default_value;
}
、あなたがこのような結果を得ると仮定すると:
$items = Model::all();
あなたは、このようなモデルのために、このフィールドを表示することができます
foreach ($items as $item) {
echo $item->real_value;
}
[ララベルの[COALESCE]の可能な複製(http://stackoverflow.com/questions/33675277/coalesce-in-laravel) –