/** * NO USAR, ESTO NO SE DBE USAR * * @deprecated since version 2 * @author Franlin Rivero Grcia <*****@*****.**> * @param EntityManager $em * @param QueryBuilder $qb * @param array $filters Arreglo asociativo campo => valor * @param ResultType $resultType * @param type $order * @param type $page * @return array */ public static function filterRecordsQueryString(EntityManager $em, $dql, $filters = array(), $order = null, $resultType = ResultType::ArrayType, $page = null) { $op = UtilRepository2Config::$defaultQueryStringCompareOperator; $query = $dql; if (is_array($dql)) { $query = $dql[0]; $query .= " " . $dql[1]; } $i = 0; foreach ($filters as $key => $value) { $param = str_replace(".", '', $key); if ($i == 0 && !is_array($dql)) { if (is_array($value)) { $query .= " where {$key} {$value['0']} :{$param}"; } else { $query .= " where {$key} {$op} :{$param}"; } } else { if (is_array($value)) { $query .= " and {$key} {$value['0']} :{$param}"; } else { $query .= " and {$key} {$op} :{$param}"; } } $i++; } if ($order != null) { $query .= " order by {$order}"; } $query = $em->createQuery($query); foreach ($filters as $key => $value) { $param = str_replace(".", '', $key); if (!is_array($value)) { if ($op == 'like') { $query->setParameter($param, "%{$value}%"); } else { $query->setParameter($param, $value); } } elseif ($value[0] == 'like') { $query->setParameter($param, "%" . strtolower($value[1]) . "%"); } else { $query->setParameter($param, $value[1]); } } return UtilRepository2::doQueryResult($query, $resultType); }