Ticket #572: 572-jDaoConditions-in-notin.2.diff

File 572-jDaoConditions-in-notin.2.diff, 1.2 kB (added by Julien, 2 months ago)
  • lib/jelix/dao/jDaoFactoryBase.class.php

    old new  
    362362                $prefixNoCondition = $prop['fieldName']; 
    363363 
    364364            $prefix = $prefixNoCondition.' '.$cond['operator'].' '; // ' ' for LIKE.. 
     365             
     366            if(strtoupper($cond['operator']) == 'IN' || strtoupper($cond['operator']) == 'NOT IN'){ 
     367                if(is_array($cond['value'])){ 
     368                    $values = array(); 
     369                    foreach($cond['value'] as $value) 
     370                        $values[] = $this->_prepareValue($value,$prop['datatype']); 
     371                    $values = join(',', $values); 
     372                } 
     373                else 
     374                    $values = $cond['value']; 
    365375 
    366             if (!is_array ($cond['value'])){ 
     376                $r .= $prefix.'('.$values.')'; 
     377            } 
     378            else if (!is_array ($cond['value'])){ 
    367379                $value = $this->_prepareValue($cond['value'],$prop['datatype']); 
    368380                if ($value === 'NULL'){ 
    369381                    if($cond['operator'] == '='){ 
Download in other formats: Original Format