当前位置: 首页>>代码示例>>PHP>>正文


PHP ModelCriteria::getTableMap方法代码示例

本文整理汇总了PHP中ModelCriteria::getTableMap方法的典型用法代码示例。如果您正苦于以下问题:PHP ModelCriteria::getTableMap方法的具体用法?PHP ModelCriteria::getTableMap怎么用?PHP ModelCriteria::getTableMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ModelCriteria的用法示例。


在下文中一共展示了ModelCriteria::getTableMap方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 /**
  * Constructor.
  *
  * @see ModelType How to use the preferred choices.
  *
  * @param string                    $class            The FQCN of the model class to be loaded.
  * @param string                    $labelPath        A property path pointing to the property used for the choice labels.
  * @param array                     $choices          An optional array to use, rather than fetching the models.
  * @param \ModelCriteria            $queryObject      The query to use retrieving model data from database.
  * @param string                    $groupPath        A property path pointing to the property used to group the choices.
  * @param array|\ModelCriteria      $preferred        The preferred items of this choice.
  *                                                    Either an array if $choices is given,
  *                                                    or a \ModelCriteria to be merged with the $queryObject.
  * @param PropertyAccessorInterface $propertyAccessor The reflection graph for reading property paths.
  * @param string                    $useAsIdentifier  a custom unique column (eg slug) to use instead of primary key.
  *
  * @throws MissingOptionsException In case the class parameter is empty.
  * @throws InvalidOptionsException In case the query class is not found.
  */
 public function __construct($class, $labelPath = null, $choices = null, $queryObject = null, $groupPath = null, $preferred = array(), PropertyAccessorInterface $propertyAccessor = null, $useAsIdentifier = null)
 {
     $this->class = $class;
     $queryClass = $this->class . 'Query';
     if (!class_exists($queryClass)) {
         if (empty($this->class)) {
             throw new MissingOptionsException('The "class" parameter is empty, you should provide the model class');
         }
         throw new InvalidOptionsException(sprintf('The query class "%s" is not found, you should provide the FQCN of the model class', $queryClass));
     }
     $query = new $queryClass();
     $this->query = $queryObject ?: $query;
     if ($useAsIdentifier) {
         $this->identifier = array($this->query->getTableMap()->getColumn($useAsIdentifier));
     } else {
         $this->identifier = $this->query->getTableMap()->getPrimaryKeys();
     }
     $this->loaded = is_array($choices) || $choices instanceof \Traversable;
     if ($preferred instanceof \ModelCriteria) {
         $this->preferredQuery = $preferred->mergeWith($this->query);
     }
     if (!$this->loaded) {
         // Make sure the constraints of the parent constructor are
         // fulfilled
         $choices = array();
         $preferred = array();
     }
     if (1 === count($this->identifier) && $this->isScalar(current($this->identifier))) {
         $this->identifierAsIndex = true;
     }
     parent::__construct($choices, $labelPath, $preferred, $groupPath, null, $propertyAccessor);
 }
开发者ID:nibsirahsieu,项目名称:propel1-bridge,代码行数:51,代码来源:ModelChoiceList.php

示例2: filterBySelection

 protected function filterBySelection(\ModelCriteria $query)
 {
     $item = $this->getSelection();
     if ($item) {
         $relations = $this->query->getTableMap()->getRelations();
         foreach ($relations as $relation) {
             if ($relation->getRightTable()->getPhpName() == get_class($item) && in_array($relation->getType(), array(\RelationMap::MANY_TO_ONE))) {
                 $query->{'filterBy' . $relation->getName()}($item);
             }
         }
     }
 }
开发者ID:bombayworks,项目名称:currycms,代码行数:12,代码来源:ListView.php

示例3: 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;
 }
开发者ID:karser,项目名称:GlorpenPropelBundle,代码行数:20,代码来源:PlainModelJoin.php

示例4: getPrimaryKeyFieldName

 /**
  * This method will determine the primary key field name from a query object.
  *
  * @param ModelCriteria $query
  * @return string
  */
 protected function getPrimaryKeyFieldName($query)
 {
     $primaryKeyColumns = $query->getTableMap()->getPrimaryKeyColumns();
     $primaryKeyColumn = reset($primaryKeyColumns);
     return $primaryKeyColumn->getPhpName();
 }
开发者ID:ThirdEngine,项目名称:PropelSOA,代码行数:12,代码来源:ModelBasedServiceController.php


注:本文中的ModelCriteria::getTableMap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。