public function whereIn($field, array $data, $condition = 'IN', $operator = 'AND')
    {
        if ( ! in_array($condition, ['IN', 'NOT IN']) || ! in_array($operator, ['AND', 'OR'])) {
            throw new \InvalidArgumentException("Error whereIn mode");
        }
        // create placeholder
        foreach ($data as $key => $value) {
            $plh = self::_getPlh();
            $data[$key] = $plh;
            $this->_bind_params[$plh] = $value;
        }
        // is the first time call where method ?
        if ($this->_where_str == '') {
            $this->_where_str = ' WHERE '.self::_wrapRow($field).' '.$condition.' ('.implode(',', $data).')';
        } else {
            $this->_where_str .= ' '.$operator.' '.self::_wrapRow($field).' '.$condition.' ('.implode(',', $data).')';
        }

        return $this;
    }
public function whereIn($field, array $data, $condition = 'IN', $operator = 'AND')
    {
        if ( ! in_array($condition, ['IN', 'NOT IN']) || ! in_array($operator, ['AND', 'OR'])) {
            throw new \InvalidArgumentException("Error whereIn mode");
        }
        // create placeholder
        foreach ($data as $key => $value) {
            $plh = self::_getPlh();
            $data[$key] = $plh;
            $this->_bind_params[$plh] = $value;
        }
        // is the first time call where method ?
        if ($this->_where_str == '') {
            $this->_where_str = ' WHERE '.self::_wrapRow($field).' '.$condition.' ('.implode(',', $data).')';
        } else {
            $this->_where_str .= ' '.$operator.' '.self::_wrapRow($field).' '.$condition.' ('.implode(',', $data).')';
        }

        return $this;
    }
public function whereIn ( $ field , array $ data , $ condition = 'IN' , $ operator = 'AND' ) { if ( ! in_array ( $ condition , [ 'IN' , 'NOT IN' ] ) || ! in_array ( $ operator , [ 'AND' , 'OR' ] ) ) { throw new \ InvalidArgumentException ( "Error whereIn mode" ) ; } // create placeholder foreach ( $ data as $ key => $ value ) { $ plh = self :: _getPlh ( ) ; $ data [ $ key ] = $ plh ; $ this -> _bind_params [ $ plh ] = $ value ; } // is the first time call where method ? if ( $ this -> _where_str == '' ) { $ this -> _where_str = ' WHERE ' . self :: _wrapRow ( $ field ) . ' ' . $ condition . ' (' . implode ( ',' , $ data ) . ')' ; } else { $ this -> _where_str .= ' ' . $ operator . ' ' . self :: _wrapRow ( $ field ) . ' ' . $ condition . ' (' . implode ( ',' , $ data ) . ')' ; } return $ this ; }
build whereIn string

@param  string $field
@param  array $data
@param  string $condition
@param  string $operator
@return  self
@throws  \InvalidArgumentException
build whereIn string