2017-05-05 1 views
0

나는 같은 두 개의 필드가 어떤 테이블이?필드 값을 다른 필드 값으로 바꾸는 방법은 무엇입니까?</p> <p><code>value, default_value</code></p> <p>어떻게 값이 null 인 경우 <code>default_value</code>에 <code>value</code>을 교체하는 결과를 반환 :

결과 모음으로 반복을 사용하지 마십시오. 나는 보편적 인 해결책을 만들려고 노력한다.

로컬 범위를 사용하려고했지만 잘못된 결정 인 것 같습니다. 당신이 설득력을 사용하는 경우

+0

[laravel]에있는 [COALESCE]의 가능한 복제본 (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

Real이없는'getValueAttribute()'일 수 있습니까? – Garaman

+0

@Garaman "value"와 같기 때문에 평범한 값을 사용해야하는 경우 혼란이 생길 ​​수 있으므로 다른 이름을 사용하는 것이 좋습니다. –