Robię małe badania po przeczytaniu komentarza jchamberlaina na temat where
pod jego odpowiedzią i doszedłem do wniosku, że
- należy zawsze używać
UpperCamelCase
styl podczas wpisywania nazw kolumn w funkcjach napędowych, chociaż czasami działa dobrze, jeśli nie używasz tego stylu - rozwiązanie zależy od wersji Propela
Prawdopodobnie nie ma rozwiązania dla Propela <=1.6.7 (a może surowe zapytanie SQL jest jedynym rozwiązaniem), ponieważ bez względu na to, ile próbuję, zawsze kończy się na Cannot fetch ColumnMap for undefined column: ID_TABLE_B
Wyjątek napędowy.
Dla Propela>=1.6.8 to zadziała:
Jeśli potrzebujesz tablicy z kolumnami z aliasami w wyniku
TableAQuery::create()
->useTableBQuery('a')
// some filters methods
->endUse()
->useTableBQuery('b')
// some filters methods
->endUse()
->select(array('a.Value1', 'b.Value2')) // notice a.value_1 or b.value_2 won't work
->find();
Jeśli potrzebujesz obiektów z kolumnami wirtualnymi z kolumn z aliasami
TableAQuery::create()
->useTableBQuery('a')
// some filters methods
->endUse()
->useTableBQuery('b')
// some filters methods
->endUse()
->withColumn('a.Value1') // notice a.value_1 won't work
->withColumn('b.Value2') // notice b.value_2 won't work
->find();