2014-12-18 2 views
-3

cakephp에서 여러 양식 입력을 사용하여 쿼리를 작성하려고합니다.Cakephp Find가 올바른 데이터를 출력하지 않습니다.

이 양식에서 사용자는 내 구독 정보의 결과를 필터링하는 데 사용하려는 일부 값을 사용할 수 있습니다.

양식에서 나는 사용하고 싶은 4 가지 값을받습니다.

나의 발견 방법은 다음과 같습니다

$subscriptions = $this->set('subscriptions', 
    $this->Subscription->find('all', [ 
     'conditions' => array(
      'and' => array(
       'Subscription.provider' => $provider, 
       'Subscription.subscription_duration' => $length, 
       'Subscription.subscription_allowance_minutes >=' => $minutes, 
       'Subscription.subscription_allowance_sms >=' => $sms, 
       'Subscription.package_internet_bundle_mb >=' => $data 
      ) 
     ), 
     'order' => 'Abonnement.subscription_price ASC' 
    ]) 
); 

당신은 내가 사용자에게 폭 넓은 선택을 제공하기 위해 설정 값과 그 다음 높은 모든 쿼리 할 볼 수 있듯이.

$ provider와 $ length는 배열이며 "Vodafone", "Ben", "Tele2", "T-Mobile"등이 포함됩니다.이 두 값에는 문제가 없지만 원하는 값으로는 문제가 없습니다 equals 이상을 쿼리합니다.

나는 cakephp가있는 시동기이므로 누군가가 내 방법을 찾는 것이 맞는지 확인하고 싶습니다. 그것이 올바른 경우 나는 더 문제를 해결하고 나머지는 게시 할 것입니다.

+2

_ 문제가 있습니다. 어떻게 든 동일하거나 더 크게 작동하지 않을 수 있습니다. _ 문제를 충분히 설명하지 못해서 문제를 해결할 수 없습니다. 운영자보다 더 큰 운영자를 운영자보다 적게 변경해도 문제가 해결되지 않으면 문제를 더 잘 설명해야합니다. 예를 들어 샘플 선택 기준 (예 : $ provider, $ length 등) 및 예상 결과와 함께 샘플 데이터를 보여줍니다. 또는 Cakephp가 생성 한 SQL을 표시하고 원하는 방식을 설명하십시오. – AgRizzo

+0

또한 : 항상 정확한 cakephp 버전을 언급해야합니다. – mark

답변

0

필터를 적용 할 때의 문제는 정수로 varchar 필드를 쿼리하려고했기 때문입니다. 다음과 같이 모델 필드 오버로드가 있습니다. $ this-> Model -> _ schema 그러나이 필드는 내 테이블의 유형을 int로 변경했기 때문에 이것은 작동하지 않았습니다.

관련 문제