2016-12-12 33 views
0

我正在开发一个Propel ORM作为模型的PHP应用程序。它通过Composer安装,所有类都自动加载正确。我可以创建查询,访问数据库和检索数据来填充我的页面。尼斯。推动和收集方法

但是我在使用isLast()等方法时遇到问题。根据documentation,你可以使用它如下:

$books = BookQuery::create()->find(); 
foreach ($books as $book){ 
    if($books->isLast()){ 
    // Do something 
    } 
} 

我甚至不能复制这个简单的例子。我简化了我的代码,以便看看它是否工作(用我自己的表和列名):

$provincias=ProvinciasQuery::create()->find(); 
foreach($provincias as $v){ 
    echo $v->getProvinciasNombre(); // This works! 
    if($provincias->isLast()){ // This doesn't :(
    // Do something 
    } 
} 

我总是得到同样的错误:

Fatal error: Uncaught exception 'Propel\Runtime\Exception\BadMethodCallException' with message 'Call to undefined method: isLast' in /path/to/my/app/vendor/propel/propel/src/Propel/Runtime/Collection/Collection.php on line 558

同样的情况,与其它方法,如isEven()isOdd()isFirst()。方法isEmpty()似乎工作正常。

任何帮助,将不胜感激。

回答

0

实测值的溶液here

$books = BookQuery::create()->find(); 
$booksLoop = $books->getIterator(); 
foreach ($booksLoop as $book) { 
    if ($booksLoop->isFirst()) echo "First"; 
} 

用于行走2正式文件已过时。我已经在github提交了一个问题:https://github.com/propelorm/Propel2/issues/1314