* update report * @param $id * @param $name * @param $subheader * @param $parent * @param $link * @param $visualization * @param $chart * @param $chartoptions * @param $dataoptions * @param $dimension1 * @param $dimension2 * @param $value * @param $filteroptions * @return bool * @throws Exception */
($id, $name, $subheader, $parent, $link, $visualization, $chart, $chartoptions, $dataoptions, $dimension1, $dimension2, $value, $filteroptions = null)
| 206 | * @throws Exception |
| 207 | */ |
| 208 | public function update($id, $name, $subheader, $parent, $link, $visualization, $chart, $chartoptions, $dataoptions, $dimension1, $dimension2, $value, $filteroptions = null) |
| 209 | { |
| 210 | $name = $this->truncate($name, 64); |
| 211 | $sql = $this->db->getQueryBuilder(); |
| 212 | $sql->update(self::TABLE_NAME) |
| 213 | ->set('name', $sql->createNamedParameter($name)) |
| 214 | ->set('subheader', $sql->createNamedParameter($subheader)) |
| 215 | ->set('link', $sql->createNamedParameter($link)) |
| 216 | ->set('visualization', $sql->createNamedParameter($visualization)) |
| 217 | ->set('chart', $sql->createNamedParameter($chart)) |
| 218 | ->set('chartoptions', $sql->createNamedParameter($chartoptions)) |
| 219 | ->set('dataoptions', $sql->createNamedParameter($dataoptions)) |
| 220 | ->set('parent', $sql->createNamedParameter($parent)) |
| 221 | ->set('dimension1', $sql->createNamedParameter($dimension1)) |
| 222 | ->set('dimension2', $sql->createNamedParameter($dimension2)) |
| 223 | ->set('value', $sql->createNamedParameter($value)) |
| 224 | ->set('version', $sql->createFunction('COALESCE(version, 0) + 1')) |
| 225 | ->where($sql->expr()->eq('user_id', $sql->createNamedParameter($this->userId))) |
| 226 | ->andWhere($sql->expr()->eq('id', $sql->createNamedParameter($id))); |
| 227 | if ($filteroptions !== null) $sql->set('filteroptions', $sql->createNamedParameter($filteroptions)); |
| 228 | $sql->executeStatement(); |
| 229 | return true; |
| 230 | } |
| 231 | |
| 232 | /** |
| 233 | * update report options |
no test coverage detected