2017-09-29 1 views
0

나는 Eloquent 쿼리를 사용하며 쿼리 범위를 사용하고 있습니다. 내 테이블에 km 열이 있고 kmFrom 및 KmTo 값을 게시물 데이터로 전달하고 있습니다. 이제 나는 km를 검색 할 때 웅변 거리와 잘못된 결과를 반환합니다.whereBetween() Eloquent wrong results returned wrong

예를 들어 kmFrom = 1000kmTo = 2000을 전달하면 그것은이 두 값 사이에 있지 않은 결과를 나에게줍니다.

웅변 다음 km를위한

Product::categoriesCategoryId($categoryId) 
      ->km($kmFrom, $kmTo)->get(); 

쿼리 범위 :

public function scopeKm($query, $kmFrom, $kmTo) 
    { 
     if(($kmFrom) && ($kmTo)){ 
      return $query->whereBetween('km', ["$kmFrom", "$kmTo"]); 
     } 
     return $query; 
    } 

내가 뭐하는 거지 무슨 도움을 주시기 바랍니다.

+0

KM 스코프 만 사용하여 문제가'categoriesCategoryId' 범위에 있는지 확인하십시오 !! – Maraboc

+0

''$ kmFrom ''과''$ kmTo "'에서 주위의 따옴표를 제거해보십시오. –

답변

0

이것이이 당신을 도울 것 같은 희망을 작동합니다 같은 일

public function scopeKm($query, $kmFrom, $kmTo) 
    { 
     if(($kmFrom) && ($kmTo)){ 
      return $query->where('km','>' ,$kmFrom])->where('km','<',$kmTo); 
     } 
     return $query; 
    } 

을하고 서로 다른 접근 방식이다!