NTDB pri relácií dosadí jenom PK miesto REF_KEY

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
majky358
Člen | 37
+
0
-
Tabuľka 'e_country'

id (int)
e_country_code (varchar(2))
name (varchar(50))

Indexy: PK(id), UNIQUE(e_country_code)
Tabuľka 'p_product'
id (int)
country (varchar(2))

Indexy: PK(id), INDEX(country)
FK: country -> e_country(e_country_code)

Zdravím, mám problém s NTDB, ak chcem vybrať stĺpec z druhej tabuľky do výsledku.
Volám napríklad:

$this->dbContext->table("p_product")->select("p_product.*, country.e_country_code AS c_title");

Výsledný dotaz NTDB:

SELECT `p_product`.*, `country`.`e_country_code` AS `c_title`
FROM `p_product`
LEFT JOIN `e_country` `country` ON `p_product`.`country` = `country`.`id`

Miesto country.id by podľa schémy malo dosadiť REFERENCED_COLUMN_NAME a výsledok by bol ok.
V podstate podobné správanie pri volaní ref() nad Active Row. Relácia je 1:N. Okrem riešenia manuálneho query, ak by to šlo…

Ďakujem veľmi pekne za radu.

Editoval majky358 (30. 12. 2015 1:41)