public function getsByKeys($keys) { if (!$this->checkTable()) { return array(); } return $this->fetchAll(sprintf("SELECT * FROM %s WHERE ekey in (%s) ", $this->tablename, ACloudSysCoreS::sqlImplode($keys))); }
public function deleteSqlLogsByIds($ids) { if (!ACloudSysCoreS::isArray($ids)) { return false; } return $this->query(sprintf("DELETE FROM %s WHERE id IN (%s)", $this->tablename, ACloudSysCoreS::sqlImplode($ids))); }
public function replaceSql($sqlTemplate, $argumentValues, $fields) { $sqlTemplate = preg_replace('/\\{\\{(\\w+?)\\}\\}/', '[[$1]]', $sqlTemplate); preg_match_all('/\\{(\\w+)\\}/', $sqlTemplate, $matches); if (!ACloudSysCoreS::isArray($matches)) { return ''; } $seg = $this->getRandString(4); $sql = preg_replace('/\\{(\\w+)\\}/', $seg . '{${1}}' . $seg, $sqlTemplate); foreach ($matches[0] as $k => $v) { $value = $v != '{fields}' ? is_array($argumentValues[$matches[1][$k]]) ? ACloudSysCoreS::sqlImplode($argumentValues[$matches[1][$k]]) : $argumentValues[$matches[1][$k]] : $fields; $sql = str_replace($seg . $v . $seg, $value, $sql); } $sql = preg_replace('/\\[\\[(\\w+?)\\]\\]/', '{{$1}}', $sql); return $sql; }
private function getContentAndForumInfo($result) { $tids = $fids = array(); foreach ($result as $value) { $tids[] = $value['tid']; $fids[] = $value['fid']; } $query = Wind::getComponent('db')->query(sprintf('SELECT * FROM %s WHERE tid IN(%s)', ACloudSysCoreS::sqlMetadata('{{bbs_threads_content}}'), ACloudSysCoreS::sqlImplode(array_unique($tids)))); $contents = $query->fetchAll('tid', PDO::FETCH_ASSOC); $query = Wind::getComponent('db')->query(sprintf('SELECT fid, name as forumname FROM %s WHERE fid IN(%s)', ACloudSysCoreS::sqlMetadata('{{bbs_forum}}'), ACloudSysCoreS::sqlImplode(array_unique($fids)))); $forums = $query->fetchAll('fid', PDO::FETCH_ASSOC); foreach ($result as $key => $thread) { $result[$key] = array_merge($thread, (array) $contents[$thread['tid']]); $result[$key]['forumname'] = isset($forums[$thread['fid']]) ? $forums[$thread['fid']]['forumname'] : ''; } return $result; }