我正在使用Propel 1.5.7,无法找出订购get[Related]s()
电话结果的正确方法。
e.g。
说,Author
有很多Books
:
$leo = AuthorQuery::create()->findByLastName("Tolstoy");
$books = $leo->getBooks();
而且,图书有PublishDate
列。
如何按$books
排序PublishDate
?我可以将某些内容传递给getBooks()
以实现此目的。我在文档中找不到任何提及。
答案 0 :(得分:2)
据我所知,这是按出版日期排序狮子座书籍的唯一方法。
然而,您可以通过使用BookQuery类创建标准来使其更漂亮(因为BookQuery间接是一个标准):
$criteria = BookQuery::create()->orderByPublishDate();
$books = $leo->getBooks($criteria);
使用此方法,您还可以使用BookQuery类中定义的方法,让我们想象一下,只能检索给定作者发布的五本leo书籍。
$criteria = BookQuery::create()
->filterByGenre('Fiction');
->limit(5);
->orderByPublishDate();
$books = $leo->getBooks($criteria);
答案 1 :(得分:0)
我对这个答案不满意,但确实有效。
$c = new Criteria();
$c->addAscendingOrderByColumn(BookPeer::PUBLISH_DATE);
$books = $leo->getBooks($c);
创建新的Criteria
,添加订单并将其传递给get[Related]s()
。