Doctrine – Form->setValues()?

- exquis
 - Člen | 83
 
Ahoj,
začínám s Doctrine a nedaří se mi jednoduché načtení hodnot do formuláře dle klasického setValues()
$form->setValues($this->EM->getRepository(Langs::class)->findOneById($this->detailId));
Když bych nastavil viditelnost atributů entity na public, tak to lze přetypovat na array a funguje, ale to nebude ta nejlepší cesta :) Nápad jak to jednoduše načíst?

- leninzprahy
 - Člen | 150
 
Asi nejjednodušší, ale rozhodně ne nejčistější cesta je, si v té entitě udělat metodu, něco jako
public function getFormDefaults() {
	return [
		'neco' => $this->neco,
		....
	];
}
a pak to plnit
	$form->setValues($this->EM->getRepository(Langs::class)->findOneById($this->detailId)->getFormDefaults());
				
- exquis
 - Člen | 83
 
Dobrý nápad, mě se právě nechtělo dělat každé entitě něco jako [„foo“ =>„bar“], ale chtěl jsem, aby to vzalo všechny atributy tridy a hodilo je to do assoc. pole a na to jsem objevil super funkci.. takze stacilo si udelat BaseEntity, ktera ma v sobe funkci getValues() a ostatni jsou potomci
 function getValues()
    {
        return get_object_vars($this);
    }
				
- leninzprahy
 - Člen | 150
 
Jako jde to, třeba na prototypování se může hodit, ale čisté to není
:)
A to máš všechny formuláře a entity 1:1, jako že všechny vlastnosti
entit, mají své políčko ve formuláři?
Ještě bych se koukl po nějaké knihovně, třeba
https://github.com/…rms-doctrine
https://github.com/…octrineForms