推进和收集方法

  • 本文关键字:方法 php orm propel2
  • 更新时间 :
  • 英文 :


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

但是我在使用某些方法时遇到麻烦,例如isLast().根据文档,您可以按如下方式使用它:

$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
}
}

我总是得到同样的错误:

致命错误:未捕获的异常 "Propel\Runtime\Exception\BadMethodCallException",消息"调用" 到未定义的方法:isLast' in/path/to/my/app/vendor/propel/propel/src/Propel/Runtime/Collection/Collection.php 在线 558

其他方法也是如此,例如isEven()isOdd()isFirst().方法isEmpty()似乎工作正常。

任何帮助将不胜感激。

在这里找到了一个解决方案:

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

Propel 2的官方文档已经过时。我已经在github上提出了一个问题:https://github.com/propelorm/Propel2/issues/1314

相关内容

最新更新