/** * Gets prepared SQL and parameters from executed query * and stores them in DataGrid config object * * @param OrmResultAfter $event */ public function onResultAfter(OrmResultAfter $event) { $config = $event->getDatagrid()->getConfig(); $path = sprintf('%s[%s]', MetadataObject::OPTIONS_KEY, StoreSqlExtension::STORE_SQL); if ($config->offsetGetByPath($path, false)) { $config->offsetAddToArrayByPath(StoreSqlExtension::STORED_SQL_PATH, [StoreSqlExtension::SQL => QueryUtils::getExecutableSql($event->getQuery())]); } }
/** * @param OrmResultAfter $event */ public function onResultAfter(OrmResultAfter $event) { if (!$this->paginationManager->isEnabled()) { return; } $dataGrid = $event->getDatagrid(); if (!$this->paginationManager->isDatagridApplicable($dataGrid)) { return; } // clear all data as long as we can't guarantee that storage data is valid $entityName = $this->getEntityName($dataGrid); $this->storage->clearData($entityName); }