2016-08-15 3 views
0

내가 가진 일 : 판매 모델 : id, product_id, qty, s_price; 제품 모델 : id, category_id, name; 나는 CATEGORY_ID을 알고 특정 범주에 속하는 제품의 판매를 필터링 할Laravel에서 관련 모델의 쿼리를 만드는 방법은 무엇입니까?

$sales = Sale::orderBy('created_at', 'DESC') 
       ->whereBetween('created_at', [$startDate, $endDate]) 
       ->whereBetween('qty', [$lQty, $uQty]) 
       ->paginate(11); 

: id, name

현재 (L)가 성공적으로 쿼리를 만들 수있다 분류 모델. 같은 뭔가 :

$sales = Sale::orderBy('created_at', 'DESC') 
        ->whereBetween('created_at', [$startDate, $endDate]) 
        ->whereBetween('qty', [$lQty, $uQty]) 
        ->where('category_id', '=', 5) 
        ->paginate(11); 
+1

시도 할 수 있습니다 그래서 ... 질문은 무엇입니까? 어떤 종류의 오류가 있습니까? 어떤 결과를 얻고 있습니까/어떤 결과를 기대합니까? –

+0

이 오류가 발생합니다. 열을 찾을 수 없습니다 : 1054 'where 절'에서 'category_id'알 수없는 열 (SQL : 2016-08-15에서 2016-08-16 사이에 'created_at'가있는 'sales'의 집계로 집계 선택 와'0과 100000 사이 qty'와'category_id' = 5) –

+0

I 제품 모델에서 이러한 sale_id이없는 판매 및 제품 사이의 관계가 무엇인지? 그것은 오류 –

답변

2

는이

$sales = Sale::whereHas('product', function ($query) { 
       $query->where('category_id', '=', 5); 
      }) 
      ->whereBetween('created_at', [$startDate, $endDate]) 
      ->whereBetween('qty', [$lQty, $uQty]) 
      ->orderBy('created_at', 'DESC') 
      ->paginate(11); 
+0

완벽하게 작동합니다. –

관련 문제