重用Propel查询错误或我的错误?

时间:2012-02-06 21:13:34

标签: php orm propel

简单Propel reusing query在这里不起作用,尽管我的代码类似于Propel网站上的示例。 这是一个错误还是我的错误?

$q = MashupSettingQuery::create()->filterByMashup($this);
var_dump($q->count(), $q->findOneByKey('redirect_uri'), $q->count());

输出是:

int 5

object(MashupSetting)[28]
  protected 'startCopy' => boolean false
  protected 'id' => int 9
  protected 'key' => string 'redirect_uri' (length=12)

int 1

也就是说,重复使用无效,因为count()首先返回5然后返回1.

即使使用MashupSettingQuery::create()->filterByMashup($this)->keepQuery(true)也无法解决问题。

1 个答案:

答案 0 :(得分:1)

我认为这是正常的,因为在第二次计数之前你做了一个findOneByKey查询,所以第二个计数只计算这个特定查询返回的对象数。 而你的查询只返回一个对象,显然是因为它是一个findOneByKey。