本文整理匯總了PHP中ModelCriteria::addJoinObject方法的典型用法代碼示例。如果您正苦於以下問題:PHP ModelCriteria::addJoinObject方法的具體用法?PHP ModelCriteria::addJoinObject怎麽用?PHP ModelCriteria::addJoinObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ModelCriteria
的用法示例。
在下文中一共展示了ModelCriteria::addJoinObject方法的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: testJoinDuplicate
public function testJoinDuplicate()
{
$c = new ModelCriteria('bookstore', 'Author');
$c->addJoinObject(new Join('tbl.COL1', 'tbl.COL2', 'LEFT JOIN'));
$c->addJoinObject(new Join('tbl.COL1', 'tbl.COL2', 'LEFT JOIN'));
$this->assertEquals(1, count($c->getJoins()), 'Expected not to have duplicate LEFT JOIN added.');
$c->addJoinObject(new Join('tbl.COL1', 'tbl.COL2', 'RIGHT JOIN'));
$c->addJoinObject(new Join('tbl.COL1', 'tbl.COL2', 'RIGHT JOIN'));
$this->assertEquals(2, count($c->getJoins()), 'Expected 1 new right join to be added.');
$c->addJoinObject(new Join('tbl.COL1', 'tbl.COL2'));
$c->addJoinObject(new Join('tbl.COL1', 'tbl.COL2'));
$this->assertEquals(3, count($c->getJoins()), 'Expected 1 new implicit join to be added.');
$c->addJoinObject(new Join('tbl.COL1', 'tbl.COL2', 'INNER JOIN'));
$this->assertEquals(3, count($c->getJoins()), 'Expected to not add any new join
as INNER JOIN is default joinType and it is already added');
$c->addJoinObject(new Join('tbl.COL3', 'tbl.COL4'));
$this->assertEquals(4, count($c->getJoins()), "Expected new col join to be added.");
}