本文整理汇总了PHP中ModelCriteria::getPreviousJoin方法的典型用法代码示例。如果您正苦于以下问题:PHP ModelCriteria::getPreviousJoin方法的具体用法?PHP ModelCriteria::getPreviousJoin怎么用?PHP ModelCriteria::getPreviousJoin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModelCriteria
的用法示例。
在下文中一共展示了ModelCriteria::getPreviousJoin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: create
public static function create(\ModelCriteria $q, $relation, $relationAlias = null, $joinType = \Criteria::INNER_JOIN)
{
$tableMap = $q->getTableMap();
$relationMap = $tableMap->getRelation($relation);
// create a Join object for this join
$join = new static();
$join->setJoinType($joinType);
$join->setRelationMap($relationMap, $q->getModelAlias(), $relationAlias);
if ($previousJoin = $q->getPreviousJoin()) {
$join->setPreviousJoin($previousJoin);
}
// add the ModelJoin to the current object
if ($relationAlias) {
$q->addAlias($relationAlias, $relationMap->getRightTable()->getName());
$q->addJoinObject($join, $relationAlias);
} else {
$q->addJoinObject($join, $relationMap->getRightTable()->getName());
}
return $join;
}
示例2: testUseQueryJoinWithFind
public function testUseQueryJoinWithFind()
{
$c = new ModelCriteria('bookstore', 'Review');
$c->joinWith('Book');
$c2 = $c->useQuery('Book');
$joins = $c->getJoins();
$this->assertEquals($c->getPreviousJoin(), null, 'The default value for previousJoin remains null');
$this->assertEquals($c2->getPreviousJoin(), $joins['Book'], 'useQuery() sets the previousJoin');
// join Book with Author, which is possible since previousJoin is set, which makes resolving of relations possible during hydration
$c2->joinWith('Author');
$c = $c2->endUse();
$con = Propel::getConnection(BookPeer::DATABASE_NAME);
$c->find($con);
$expectedSQL = "SELECT review.ID, review.REVIEWED_BY, review.REVIEW_DATE, review.RECOMMENDED, review.STATUS, review.BOOK_ID, book.ID, book.TITLE, book.ISBN, book.PRICE, book.PUBLISHER_ID, book.AUTHOR_ID, author.ID, author.FIRST_NAME, author.LAST_NAME, author.EMAIL, author.AGE FROM `review` INNER JOIN `book` ON (review.BOOK_ID=book.ID) INNER JOIN `author` ON (book.AUTHOR_ID=author.ID)";
$this->assertEquals($expectedSQL, $con->getLastExecutedQuery(), 'useQuery() and joinWith() can be used together and form a correct query');
}