我有以下 SQL 语句:
SELECT * FROM image
LEFT JOIN history
ON (image.id = history.image_id
AND history.user_id = 1
WHERE active = 1
查询的目的是查找 Image 表中的所有记录(带有标志“活动”),并且仅查找 History 表中引用当前用户的那些记录。表之间存在 n 对 m 关系,并且可能存在具有相同 image_id 的记录,但对于其他 user_id。我不希望包含这些记录。
我正在尝试使用 Propel 1.6 来实现它,所以我认为代码应该是这样的:
ImageQuery::create()
->filterByActive( 1 )
->leftJoinHistory('History.Image')
->addJoinCondition('History.Image', 'History.user_id = ?', 1)
->find();
但它失败了
无法确定要绑定到子句“History.user_id = ?”中的参数的列
问题出在哪里?