Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 /**
  * @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;
 }