Saya melakukan sedikit riset setelah membaca komentar jchamberlain tentang where
caluse di bawah jawabannya dan saya sampai pada kesimpulan bahwa
- Anda harus selalu menggunakan
UpperCamelCase
style saat Anda mengetik nama kolom di fungsi propel, meskipun terkadang berfungsi dengan baik jika Anda tidak menggunakan gaya ini - solusi bergantung pada versi Propel
Mungkin tidak ada solusi untuk Propel <=1.6.7 (atau mungkin kueri SQL mentah adalah satu-satunya solusi), karena tidak peduli seberapa banyak saya mencoba, saya selalu berakhir dengan Cannot fetch ColumnMap for undefined column: ID_TABLE_B
Mendorong pengecualian.
Untuk Propel>=1.6.8 ini akan berhasil:
Jika Anda membutuhkan array dengan kolom alias sebagai hasilnya
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();
Jika Anda membutuhkan objek dengan kolom virtual dari kolom alias
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();