Explorar o código

added generateWhereSql in AclQueryBuilder

Piotr Labudda %!s(int64=9) %!d(string=hai) anos
pai
achega
c86f0e0fd4
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      SE/se-lib/AclQueryBuilder.php

+ 8 - 1
SE/se-lib/AclQueryBuilder.php

@@ -141,6 +141,13 @@ class AclQueryBuilder {
     $this->where[] = '';
     return $this;
   }
+  public function generateWhereSql() { // @return string - sql without where keyword
+    $sqlWhere = array_filter(
+      array_map([$this, '_generateWhereMain'], $this->where),
+      'is_string'
+    );
+    return (!empty($sqlWhere)) ? implode("\n\t and ", $sqlWhere) : '';
+  }
 
   public function _generateSelectMain($select, $key) {
     if ('__rawSelect__' === $key) return $select;
@@ -182,7 +189,7 @@ class AclQueryBuilder {
     if (!$orderBy) return $this;
     // ID A,COL_X D,COL_Y A,...
     $sortByEx = array_map('trim', explode(',', $orderBy));
-    $sortByEx = array_filter($sortByEx, function ($part) { return !empty($part); });
+    $sortByEx = array_filter($sortByEx, ['V', 'filterNotEmpty']);
     foreach ($sortByEx as $sortPart) {
       $sortPartEx = explode(' ', $sortPart);
       if (count($sortPartEx) > 2) throw new Exception("SortBy parse error #" . __LINE__);