Hydratace entity s protected/private properties

- kocourPB
 - Člen | 47
 
Ahoj,
riesim jednu zahadu s Kdyby\Doctrine.
V databaze v tabulke user mam napr. sltpec groups,
kde su data ulozene ako JSON. Pri vyhydratovani tejto entity by som chcel mat
vzdy v $user->groups array a nie JSON. Chcel som to riesit
pomocou nastavenia tejto property ako protected/private. Priklad:
entita User
/**
 * @property string $groups
 *
 * @ORM\Table(name="user")
 * @ORM\Entity
 * @ORM\HasLifecycleCallbacks
 */
class User {
	use \Nette\SmartObject;
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue
     * @var integer
     */
    public $id;
	/**
     * @ORM\Column(type="string")
     */
    public $password;
    /**
     * @ORM\Column(type="string")
     */
    protected $groups;
    /**
     * @return array
     */
    public function getGroups() {
        return json_decode($this->groups);
    }
    /**
     * @param $groups
     *
     * @return $this
     */
    public function setGroups($groups) {
        $this->groups = json_encode($groups);
        return $this;
    }
}
Problem ale nastava vtedy ked sa snazim vyhydratovat tuto entitu napr. cez:
$user = $this->em->getRepository(\App\Model\Entities\User::class)->find(5889);
echo var_export($user, TRUE);
tak groups su stale ako JSON a nie pole, getter sa teda
nezavolal.
Skusal som aj vytvorit konstruktor v entite User a nastavit
$groups ako public
public function __construct() {
	$this->groups = $this->getGroups();
}
ale nepomohlo ani to, pretoze konstruktor sa pri vyhydratovani entit nezavola. Mate niekto s tymto skusenost alebo ako to riesite vy? Diky moc za rady.
Editoval kocourPB (25. 7. 2018 15:57)

- Gappa
 - Nette Blogger | 212
 
Nestačilo by označit typ sloupce jako JSON? Pak by měla konverze probíhat automaticky:

- kocourPB
 - Člen | 47
 
Gappa napsal(a):
Nestačilo by označit typ sloupce jako JSON? Pak by měla konverze probíhat automaticky:
Pomohlo :) Diky moc.