2017-05-06 1 views
0

I는 다음 웅변 쿼리 단일 항목들의 집합을 리턴Laravel의 합 -> 제()을 합산보다 1 개 결과보다

$raw = Model::select('out', 'in')->orderBy('created_at', 'DESC')->first(); 

을 가지고 어디에 있는지 = 0.0 년 = 90.0.

그때 할 경우이 :

$sumO = $raw->sum('out'); 
$sumI = $raw->sum('in'); 

내가 할 $sumO = 13,651.41$sumI = 13371.69

이해가 안, 그 금액은 그 colums 내 전체 테이블의 경우에도 동일 합하지 않기 때문에.

하지만 ->sum()이 전체 테이블/쿼리에서 호출되고있는 것 같아요. first 결과 일 것입니다.

이제는 단일 행의 합계가 이상하다는 것을 알았습니다. 실제로 제작에서이 작업을 수행하지는 않습니다. 나는 단지 그것이 무엇을하고 있는지 알고 싶다.

그 자체로 동일하게하기 위해 1 개의 숫자를 합산해서는 안됩니까?

+2

'first()'는 컬렉션이 아닌 모델을 반환합니다. 그런 다음 모델에서'sum'을 호출하고 있으며 데이터베이스에 쿼리를 수행 중입니다. – joruro

답변

0

-> first()를 사용할 때 단 하나의 행이기 때문에 -> sum()을 사용할 필요가 없습니다. $ raw-> in과 $ raw-> out을 사용하십시오.

또한 -> sum()은 한 번에 하나의 열에 사용됩니다.