當前位置: 首頁>>代碼示例>>PHP>>正文


PHP BookQuery::groupBy方法代碼示例

本文整理匯總了PHP中Propel\Tests\Bookstore\BookQuery::groupBy方法的典型用法代碼示例。如果您正苦於以下問題:PHP BookQuery::groupBy方法的具體用法?PHP BookQuery::groupBy怎麽用?PHP BookQuery::groupBy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Propel\Tests\Bookstore\BookQuery的用法示例。


在下文中一共展示了BookQuery::groupBy方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testSubQueryRecursive

 public function testSubQueryRecursive()
 {
     // sort the books (on date, if equal continue with id), filtered by a publisher
     $sortedBookQuery = new BookQuery();
     $sortedBookQuery->addSelfSelectColumns();
     $sortedBookQuery->filterByPublisherId(123);
     $sortedBookQuery->orderByTitle(Criteria::DESC);
     $sortedBookQuery->orderById(Criteria::DESC);
     // group by author, after sorting!
     $latestBookQuery = new BookQuery();
     $latestBookQuery->addSelectQuery($sortedBookQuery, 'sortedBookQuery');
     $latestBookQuery->groupBy('sortedBookQuery.AuthorId');
     // filter from these latest books, find the ones cheaper than 12 euro
     $c = new BookQuery();
     $c->addSelectQuery($latestBookQuery, 'latestBookQuery');
     $c->filterByPrice(12, Criteria::LESS_THAN);
     $sql = "SELECT latestBookQuery.ID, latestBookQuery.TITLE, latestBookQuery.ISBN, latestBookQuery.PRICE, latestBookQuery.PUBLISHER_ID, latestBookQuery.AUTHOR_ID " . "FROM (SELECT sortedBookQuery.ID, sortedBookQuery.TITLE, sortedBookQuery.ISBN, sortedBookQuery.PRICE, sortedBookQuery.PUBLISHER_ID, sortedBookQuery.AUTHOR_ID " . "FROM (SELECT book.ID, book.TITLE, book.ISBN, book.PRICE, book.PUBLISHER_ID, book.AUTHOR_ID " . "FROM `book` " . "WHERE book.PUBLISHER_ID=:p2 " . "ORDER BY book.TITLE DESC,book.ID DESC) AS sortedBookQuery " . "GROUP BY sortedBookQuery.AUTHOR_ID) AS latestBookQuery " . "WHERE latestBookQuery.PRICE<:p1";
     $params = array(array('table' => 'book', 'column' => 'PRICE', 'value' => 12), array('table' => 'book', 'column' => 'PUBLISHER_ID', 'value' => 123));
     $this->assertCriteriaTranslation($c, $sql, $params, 'addSubQueryCriteriaInFrom() combines two queries succesfully');
 }
開發者ID:RafalFilipek,項目名稱:Propel2,代碼行數:20,代碼來源:SubQueryTest.php

示例2: testSubQueryRecursive

 public function testSubQueryRecursive()
 {
     // sort the books (on date, if equal continue with id), filtered by a publisher
     $sortedBookQuery = new BookQuery();
     $sortedBookQuery->addSelfSelectColumns();
     $sortedBookQuery->filterByPublisherId(123);
     $sortedBookQuery->orderByTitle(Criteria::DESC);
     $sortedBookQuery->orderById(Criteria::DESC);
     // group by author, after sorting!
     $latestBookQuery = new BookQuery();
     $latestBookQuery->addSelectQuery($sortedBookQuery, 'sortedBookQuery');
     $latestBookQuery->groupBy('sortedBookQuery.AuthorId');
     // filter from these latest books, find the ones cheaper than 12 euro
     $c = new BookQuery();
     $c->addSelectQuery($latestBookQuery, 'latestBookQuery');
     $c->filterByPrice(12, Criteria::LESS_THAN);
     if ($this->isDb('pgsql')) {
         $sql = $this->getSql("SELECT latestBookQuery.id, latestBookQuery.title, latestBookQuery.isbn, latestBookQuery.price, latestBookQuery.publisher_id, latestBookQuery.author_id " . "FROM (SELECT sortedBookQuery.id, sortedBookQuery.title, sortedBookQuery.isbn, sortedBookQuery.price, sortedBookQuery.publisher_id, sortedBookQuery.author_id FROM " . "(SELECT book.id, book.title, book.isbn, book.price, book.publisher_id, book.author_id FROM book WHERE book.publisher_id=:p2 ORDER BY book.title DESC,book.id DESC) AS sortedBookQuery " . "GROUP BY sortedBookQuery.author_id,sortedBookQuery.id,sortedBookQuery.title,sortedBookQuery.isbn,sortedBookQuery.price,sortedBookQuery.publisher_id) AS latestBookQuery WHERE latestBookQuery.price<:p1");
     } else {
         $sql = $this->getSql("SELECT latestBookQuery.id, latestBookQuery.title, latestBookQuery.isbn, latestBookQuery.price, latestBookQuery.publisher_id, latestBookQuery.author_id " . "FROM (SELECT sortedBookQuery.id, sortedBookQuery.title, sortedBookQuery.isbn, sortedBookQuery.price, sortedBookQuery.publisher_id, sortedBookQuery.author_id " . "FROM (SELECT book.id, book.title, book.isbn, book.price, book.publisher_id, book.author_id " . "FROM book " . "WHERE book.publisher_id=:p2 " . "ORDER BY book.title DESC,book.id DESC) AS sortedBookQuery " . "GROUP BY sortedBookQuery.author_id) AS latestBookQuery " . "WHERE latestBookQuery.price<:p1");
     }
     $params = array(array('table' => 'book', 'column' => 'price', 'value' => 12), array('table' => 'book', 'column' => 'publisher_id', 'value' => 123));
     $this->assertCriteriaTranslation($c, $sql, $params, 'addSubQueryCriteriaInFrom() combines two queries successfully');
 }
開發者ID:KyleGoslan,項目名稱:Huge-Propel,代碼行數:24,代碼來源:SubQueryTest.php


注:本文中的Propel\Tests\Bookstore\BookQuery::groupBy方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。