2016-06-30 6 views
2

여러 쿼리를 사용하는 쿼리에서 결과를 계산하려고합니다. 그러나 그것은 작동하지 않는 것 같습니다. 내 구문은 다음과 같습니다Where 절이 작동하지 않습니다. Laravel

$partialpaidquery=['month' => $maina]; 

$partialpaid=Bill::where($partialpaidquery)->where('paid','!=',0)->where('fee_status','<','amount')->count(); 
where('paid','!=',0) 개까지 절 보인다

가 작동하지만, 세번째는 작동하지 않습니다. 여기에 어떤 문제가 있습니까? 그것은 실제로 1. 반환해야하지만 0

+0

'dd (DB :: getQueryLog()); '와 같은 쿼리를 인쇄 할 수 있습니까? –

+0

아니, 잘 모르겠다. 시도했지만 빈 배열 []가 반환됩니다. – Anon

답변

0

세 번째로 다음을 사용하십시오.

->whereRaw('fee_status < amount') 

bec 당신이 그것을 사용하는 방식을 사용하면 금액 열은 열이 아닌 문자열로 해석됩니다.

+0

고마워요! – Anon

+0

환영합니다 ... –

1

당신이 잘못된 쿼리를 사용하는 것 같은데을 반환 : 아래처럼 < 문자열 'amount' 대신 사용 변수 $amount

을 비교하는 :

$partialpaidquery=['month' => $maina]; 

$partialpaid=Bill::where($partialpaidquery)->where('paid','!=',0)->where('fee_status','<',$amount)->count(); 
+0

실제로 금액은 내 테이블의 열 중 하나입니다. 단일 테이블의 두 열을 비교하려고합니다. – Anon

+0

같은 행에있는 두 개의 열의 값을 비교하면'whereRaw'''$ partialpaid = Bill :: where ($ partialpaidquery) -> where ('paid', '! =', 0) -> whereRaw ('fee_status < amount')-> count(); –

+0

고마워요! – Anon

관련 문제