public function delete($json) { $req = new StorageRequest($json, $this->connectionManager); $this->coreManager->init($req->getModel()); $query = MySqlQuery::getDeleteQuery($this->configManager, $req); $this->connectionManager->query($query); return true; }
/** * @param StorageRequest $request * @param ConfigManager $settings * @return string */ private static function getSelect($request, $settings) { /* select base */ $select = ''; $searchableFields = $request->getModel()->getSearchableFields(); if ($request->hasSearch() && count($searchableFields) > 0) { $select .= '( '; foreach ($searchableFields as $field) { $toAdd = self::$SELECT_QUERY_MODEL; $likes = ''; $searchTherms = $request->getSearchTherms(); foreach ($searchTherms as $therm) { $likes .= ' `' . $field . '` LIKE \'%' . $therm . '%\' OR'; } $likes = rtrim($likes, 'OR'); $toAdd = str_replace('<identifier>', self::getDbTableIdentifier($settings, $request->getModel()), $toAdd); $toAdd = str_replace('<cond>', '(' . self::getCondition($request) . ') AND (' . $likes . ')', $toAdd); $toAdd = str_replace('<paging>', '', $toAdd); $toAdd .= ' UNION '; $select .= $toAdd; } $select = rtrim($select, 'UNION '); $select .= ') AS search_scores'; } else { $select = self::getDbTableIdentifier($settings, $request->getModel()); } return $select; }