DatabaseReflection cizí klíče v pohledech

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pidiclovek
Člen | 91
+
0
-

Ahoj,

narazil jsem na omezení Nette\Database a to neobjevení cizích klíčů v pohledu. Pohled sám, protože je silně závislý na tabulkách, ze kterých je vytvořen, je v sobě zákonitě zachovává a já je potřebuji využít. Můj pohled je sice závislý jen na jedné tabulce, ale nemusí být.

Poradíte jak na to? Koukal jsem na DatabaseReflection, že bych si nějakou napsal sám, koukal jsem tu po návodech a článcích, ale nepodařilo se mi najít nějaký popostrčující příklad.

Takže – jde to? Případně jak? :)

Díky!

hrach
Člen | 1834
+
0
-

Není to příliš možné. Musela by se parsovat definice view, aby se zjistilo, z jaké tabulky jeodvozena. Případně tabulek, v ideálním případě taky kontrolovat, jestli dané vazební sloupce jsou ve view přítomné, atp. Takže automatika určitě nebude.

Možné řešení je napsat si potomka discovery reflection a pro daný view si přepsat dědění a volat předka s danou tabulkou, od které view dědí.

pidiclovek
Člen | 91
+
0
-

No napadlo mě že automatika by byla sice úžasná, ale ne zcela triviální… Díky za námět k řešení, snad se mi to povede :)