2017-09-26 3 views
2

, 나는쿼리 작성기를 사용하여 Laravel의 두 열 합계에 따라 데이터를 가져 오는 방법은 무엇입니까? 예를 들어

id apple orange 
1  1  1 
2  1  2 
3  2  2 

테이블을하고 난 항목을 얻을하려는 $ 사과 + $ 오렌지> $ 임계 값. 예를 들어, $ threshold = 3이면 대답은 No.3이됩니다. Laravel 쿼리 빌더에서이 작업을 수행하려면 어떻게해야합니까? How to add two columns value and perform where condition in laravel eloquent

$set = collect($set)->filter(function ($val) use ($threshold) { 
    return $val->apple + $val->orange > $threshold; 
})->values()->all(); 

이 작업을 수행하지만, 나에게 정말 추한 모습 ...이 문제를 해결하기 위해 다른 방법이 있습니까 :

은이 질문에서 필터를() 시도?

답변

3

내가 다음 쿼리에 해당하는 것으로 귀하의 요구 사항을 해석 :

SELECT * 
FROM fruits 
WHERE apple + orange > $threshold 

그렇다면, 당신은이 조건에 whereRaw를 사용하여 시도 할 수 있습니다 :

DB::table('fruits') 
    ->whereRaw("apple + orange > ?", array($threshold)); 
    ->get(); 
+0

하하 다시 나를 이길 :) – sumit

+0

을 @sumit 실생활에서 사용한 적이 없기 때문에 나는 Laravel 질문에 실제로 매우 비참합니다. 우선 쿼리 경로를 살펴본 후 Laravel 코드를 천천히 연구했습니다. –

+0

빠른 답장을 보내 주셔서 감사합니다. 나는 그것을 옳게 만들지 않아서 미안합니다. 사실, 내 질문에 쿼리 작성기에서 변수를 사용하는 것도 포함됩니다. 편집 된 질문을보십시오. 감사! – yifei3212

관련 문제