developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

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

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

     
    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'] == '='){