Tôi hơi dự phòng sau khi đọc bình luận của jchamberlain về where
lắng nghe câu trả lời của anh ấy và tôi đi đến kết luận rằng
- bạn phải luôn sử dụng
UpperCamelCase
kiểu khi bạn nhập tên cột trong các hàm đẩy, mặc dù đôi khi nó hoạt động tốt nếu bạn không sử dụng kiểu này - giải pháp phụ thuộc vào phiên bản Propel
Có lẽ không có giải pháp nào cho Propel <=1.6.7 (hoặc có thể truy vấn SQL thô là giải pháp duy nhất), bởi vì bất kể tôi thử bao nhiêu, tôi luôn kết thúc với Cannot fetch ColumnMap for undefined column: ID_TABLE_B
Propel ngoại lệ.
Đối với Propel> =1.6.8, điều này sẽ hoạt động:
Nếu bạn cần mảng với các cột bí danh là kết quả
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();
Nếu bạn cần đối tượng với các cột ảo từ các cột bí danh
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();