/**
  * Check table and data
  *
  * @param Table $table
  * @throws \Exception       Throw when error found
  */
 public function check(Table $table)
 {
     $columns = $table->getColumns();
     $filters = $table->getFilters();
     $successfulFilters = [];
     foreach ($filters as $id => $filterData) {
         $successfulNames = [];
         foreach ($filterData as $name => $value) {
             $test = $this->checkFilter($name, $columns[$id]['type'], $value, null);
             if ($test !== null) {
                 $successfulNames[$name] = $value;
             }
         }
         if (count($successfulNames) > 0) {
             $successfulFilters[$id] = $successfulNames;
         }
     }
     $table->setFilters($successfulFilters);
 }
 /**
  * Check table and data
  *
  * @param Table $table
  * @throws \Exception       Throw when error found
  */
 public function check(Table $table)
 {
     foreach ($table->getColumns() as $id => $params) {
         if (!isset($params['field_name'])) {
             throw new \Exception("No 'field_name' param for ID {$id}");
         }
     }
     $backupAndOps = $this->andOps;
     $columns = $table->getColumns();
     $successfulFilters = [];
     foreach ($table->getFilters() as $column => $filters) {
         $successfulNames = [];
         foreach ($filters as $name => $value) {
             if ($this->buildFilter($columns[$column]['field_name'], $columns[$column]['type'], $name, $value)) {
                 $successfulNames[$name] = $value;
             }
         }
         if (count($successfulNames) > 0) {
             $successfulFilters[$column] = $successfulNames;
         }
     }
     $table->setFilters($successfulFilters);
     $this->andOps = $backupAndOps;
 }
 /**
  * Check table and data
  *
  * @param Table $table
  * @throws Throws when error found
  * @return GenericDBAdapter
  */
 public function check(Table $table)
 {
     $columns = $table->getColumns();
     foreach ($columns as $id => $params) {
         if (!isset($params['sql_id'])) {
             throw new \Exception("No 'sql_id' param for ID {$id}");
         }
     }
     $backupSqlAnds = $this->sqlAnds;
     $backupSqlParams = $this->sqlParams;
     $successfulFilters = [];
     foreach ($table->getFilters() as $column => $filterData) {
         $successfulNames = [];
         foreach ($filterData as $name => $value) {
             if ($this->buildFilter($columns[$column]['sql_id'], $columns[$column]['type'], $name, $value)) {
                 $successfulNames[$name] = $value;
             }
         }
         if (count($successfulNames) > 0) {
             $successfulFilters[$column] = $successfulNames;
         }
     }
     $table->setFilters($successfulFilters);
     $this->sqlAnds = $backupSqlAnds;
     $this->sqlParams = $backupSqlParams;
     return $this;
 }