Witam musze sobie zamieniac string na tablice gdy wyciagam dane z bazy i gdy je zapisuje ze string-u wlozyc w tablice.

Uzywam do tego system trigger-ow z doctrine i wyglada to tak:
  1. /**
  2.   * Callback retrieved data from database transform to string to fill our field
  3.   *
  4.   * @ORM\PostLoad()
  5.   */
  6. public function onPostLoad()
  7. {
  8. //tutaj chcialbym pobrac cos z bazy...
  9. if($this->id == 13)
  10. {
  11. $data = (strstr($this->value, '-') !== false) ? explode('-', $this->value) : array($this->value);
  12. $this->setValue($data);
  13. }
  14. }

Problem polega na tym ze id jest ustawione na sztywno a ja jednak chcialbym robic ta czynnosc tylko dla widget-u typu checkbox.
Wiec moje pytanie jest nastepujace gdy w entity potrzebuje pobrac jakies dane z bazy danych jak moge tego dokonac? (choc wiem ze jest to niezgodne z data mapper doctrine/symfony)

Lub jak inaczej moge to rozwiazac?