tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Omezení DibiDataSource kvůli subquery

před 9 lety

pracj3am
Člen | 14

DibiDataSource má nepříjmené omezení, pokud je zdrojem dat JOIN několika tabulek a ne tabulka jediná. V tom případě je totiž dotaz použit jako subquery, např.:

SELECT *
FROM (SELECT * FROM `b` JOIN `a` USING (a_id)) t
WHERE (`b`.`a_id` =  2)

Pokud tabulky a a b mají sloupce se stejným názvem hlasí MySQL chybu (#1060), protože v subquery musí být sloupce unikátní. Máte nějaký nápad, jak toto obejít, když nechci zjišťvat názvy všech sloupců a aliasovat je. Snad jedině místo DibiDataSource používat DibiFluent.

před 9 lety

David Grudl
Nette Core | 6806

DibiDataSource by se pod MySQL vůbec nemělo používat, takže raději ten DibiFluent.