/** * Gets a unique key for the to-be cached value. * @param null $additionalKey * @return mixed */ public function generateCacheKey($additionalKey = null) { $query = $this->repository->getQuery(); $connectionName = $query->getConnection()->getName(); $key = $connectionName . $query->toSql() . serialize($query->getBindings()); return md5($additionalKey . $key); }