2012-11-20 150 views
1

我想通过Ajax做国家/州之间的链接组合。 更改组合事件是好的。但我需要通过Propel进行筛选。筛选Propel集合

// provincia == state ; pais == country :) 
// $provincias contains only one "provincia". Because i have only one state in the  country. 
$provincias = ProvinciasQuery::create()->filterByIdpais($_GET['pais']); 

$data = array(); 

foreach($provincias as $provincia) { 
$data[] = Array('id' => $provincia->getIdprovincia(), 'name' => $provincia->getProvincia()) 
} 

此代码失败,下一个错误:

[20-Nov-2012 16:10:23 UTC] PHP Fatal error: Call to undefined method Criterion::getIdprovincia()

任何想法?谢谢 !。

+0

你的模型是什么? '$ _GET ['pais']'里面是什么? – j0k

+0

来自组合的国家ID。 – ramiromd

回答

2

从查询中使用过滤器时,必须在末尾调用find()。现在在$provincias中你有Criteria对象,而不是查询结果。

$provincias = ProvinciasQuery::create()->filterByIdpais($_GET['pais'])->find(); 
+0

谢谢你!即时通讯最新与Propel。现在工作! :) – ramiromd

+0

@ramiromd然后在问一个新问题之前不要忘记[检查文档](http://propelorm.org/reference/model-criteria.html) – j0k