ExtraDataTrait.php 856 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace ExtraDataBundle\Entity\Traits;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. trait ExtraDataTrait
  6. {
  7. /**
  8. * @var string $extraData
  9. *
  10. * @ORM\Column(type="text", nullable=true)
  11. *
  12. * @Assert\Callback(
  13. * callback={"ExtraDataBundle\Validator\JSONValidator", "validate"},
  14. * payload={"field"="extraData"}
  15. * )
  16. */
  17. private $extraData;
  18. /**
  19. * @return string
  20. */
  21. public function getExtraData()
  22. {
  23. return $this->extraData;
  24. }
  25. /**
  26. * @param string $extraData
  27. *
  28. * @return $this
  29. */
  30. public function setExtraData($extraData = null)
  31. {
  32. $this->extraData = $extraData;
  33. return $this;
  34. }
  35. public function jsonExtraData(){
  36. return json_decode($this->extraData, true);
  37. }
  38. }