本文整理汇总了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.");
}