Powiedzmy mam zwykły *Type
Klasa:Jak uzyskać instancję repozytorium jednostek w klasie Form (Type) w Symfony 2?
class LocationType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add(...)
...
}
}
i jedno z pól jest rodzajem choice
. Wartości, które muszą być użyte jako elementy wyboru, powinny zostać pobrane z bazy danych (z jakiegoś konkretnego repozytorium jednostek).
Pytanie brzmi: jak uzyskać repozytorium w klasie LocationType
? Czy przekazanie go przez konstruktora jest jedynym sposobem, aby go zdobyć?
UPD:
wiem o entity
typ, ale niestety nie mogę go używać, ponieważ moja nieruchomość nie jest i nie może być zdefiniowana jako one-to-one
relacji ze względu na bardzo złożonych warunkach relacji tej doktryny nie obsługuje (jeszcze ?). Zobacz How to specify several join conditions for 1:1 relationship in Doctrine 2 dodatkowych szczegółów
Nie mogę tego zrobić, ponieważ moja własność 'foo' nie jest zdefiniowana jako żadna relacja (" jeden do jednego "lub jakakolwiek inna), ponieważ relacja jest zdefiniowana w bardzo trudny sposób, który doktryna obecnie nie obsługuje. http://stackoverflow.com/questions/9123264/how-to-specify-several-join-conditions-for-11-relationship-in-doctrine-2 - tutaj jest pytanie, które wyjaśnia przypadek – zerkms
Niestety, nie zrobiłem tego t podać tak istotne szczegóły w pierwszej wersji pytania, +1 za pomoc w każdym razie. Jakieś inne myśli? – zerkms
Hi. Nie ma problemu. Być może i tak przeczytałem twoje pytanie zbyt szybko! Proponuję '$ this-> buildForm (typ $, encja $, array ('reository' => $ er))' w twoim kontrolerze, aby przekazać klasę repozytorium jako opcję do twojego formularza, ale myślę, że biorąc pod uwagę twoje pytanie chcesz tego uniknąć. –