/** * {@inheritdoc} */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { if ($value === null) { return null; } try { return \Undine\Functions\uuid_to_binary($value); } catch (Uuid1TransformException $e) { throw ConversionException::conversionFailed($value, self::NAME); } }
/** * @param string $id * @param string $thumbnailPath */ public function updateSiteThumbnail($id, $thumbnailPath) { $updateQuery = <<<SQL UPDATE Site SET thumbnailPath = :thumbnailPath, thumbnailUpdatedAt = :thumbnailUpdatedAt, thumbnailLockedAt = NULL WHERE id = :id SQL; $this->em->getConnection()->executeUpdate($updateQuery, ['id' => \Undine\Functions\uuid_to_binary($id), 'thumbnailPath' => $thumbnailPath, 'thumbnailUpdatedAt' => (new \DateTime())->format('Y-m-d H:i:s')]); }
/** * Transforms a value from the transformed representation to its original * representation. * * This method is called when {@link Form::submit()} is called to transform the requests tainted data * into an acceptable format for your data processing/model layer. * * This method must be able to deal with empty values. Usually this will * be an empty string, but depending on your implementation other empty * values are possible as well (such as empty strings). The reasoning behind * this is that value transformers must be chainable. If the * reverseTransform() method of the first value transformer outputs an * empty string, the second value transformer must be able to process that * value. * * By convention, reverseTransform() should return NULL if an empty string * is passed. * * @param mixed $value The value in the transformed representation * * @return mixed The value in the original representation * * @throws TransformationFailedException When the transformation fails. */ public function reverseTransform($value) { return \Undine\Functions\uuid_to_binary($value); }