我在使用 Propel 1.6 和 MySQL 数据库时遇到了这种情况:
$query->usePublicationQuery("pq");
$query->condition('c1', '(YEAR(`pq.PUBLISHED_DATE`)) = ?', "2013")
->condition('c2', '(MONTH(`pq.PUBLISHED_DATE`)) = ?', "03")
->condition('c3', '(DAY(`pq.PUBLISHED_DATE`)) = ?', "01")
->combine(array('c1', 'c2','c3'), 'and', 'c123');
$query->endUse();
调用 endUse() 方法时会出现 mergeWith() 错误。当 Propel 尝试在 ModelCriteria.php 中合并这样的查询时会抛出它:
$primaryCriteria->mergeWith($this); // (line 941)
$primaryCriteria 似乎为空。谁能告诉我,何时以及为什么会发生这种情况?