MCPcopy Create free account
hub / github.com/Rello/analytics / delete

Method delete

lib/Db/StorageMapper.php:179–200  ·  view source on GitHub ↗

* delete data * @param int $datasetId * @param $dimension1 * @param $dimension2 * @param string|null $user_id * @return bool * @throws Exception */

(int $datasetId, $dimension1, $dimension2, ?string $user_id = null)

Source from the content-addressed store, hash-verified

177 * @throws Exception
178 */
179 public function delete(int $datasetId, $dimension1, $dimension2, ?string $user_id = null)
180 {
181 if ($user_id) $this->userId = $user_id;
182
183 $sql = $this->db->getQueryBuilder();
184 $sql->delete(self::TABLE_NAME)
185 ->where($sql->expr()->eq('user_id', $sql->createNamedParameter($this->userId)))
186 ->andWhere($sql->expr()->eq('dataset', $sql->createNamedParameter($datasetId)));
187
188 // a %(*) does not work for null columns. in case it is just %, don't apply the where clause at all
189 if ($dimension1 !== '*') {
190 $dimension1 = str_replace('*', '%', $dimension1);
191 $sql->andWhere($sql->expr()->like('dimension1', $sql->createNamedParameter($dimension1)));
192 }
193 if ($dimension2 !== '*') {
194 $dimension2 = str_replace('*', '%', $dimension2);
195 $sql->andWhere($sql->expr()->like('dimension2', $sql->createNamedParameter($dimension2)));
196 }
197
198 $sql->executeStatement();
199 return true;
200 }
201
202 /**
203 * Simulate delete data

Callers 2

deleteWithFilterMethod · 0.45
deleteByDatasetMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected