コード例 #1
0
ファイル: BelongsTo.php プロジェクト: kalvisbuls/analogue
 /**
  * Add the constraints for a relationship count query.
  *
  * @param  \Analogue\ORM\System\Query $query
  * @param  \Analogue\ORM\System\Query $parent
  * @return \Analogue\ORM\System\Query
  */
 public function getRelationCountQuery(Query $query, Query $parent)
 {
     $query->select(new Expression('count(*)'));
     $otherKey = $this->wrap($query->getTable() . '.' . $this->otherKey);
     return $query->where($this->getQualifiedForeignKey(), '=', new Expression($otherKey));
 }
コード例 #2
0
ファイル: BelongsToMany.php プロジェクト: kalvisbuls/analogue
 /**
  * Add the constraints for a relationship count query on the same table.
  *
  * @param  \Analogue\ORM\Query $query
  * @param  \Analogue\ORM\Query $parent
  * @return \Analogue\ORM\Query
  */
 public function getRelationCountQueryForSelfJoin(Query $query, Query $parent)
 {
     $query->select(new Expression('count(*)'));
     $tablePrefix = $this->query->getQuery()->getConnection()->getTablePrefix();
     $query->from($this->table . ' as ' . $tablePrefix . ($hash = $this->getRelationCountHash()));
     $key = $this->wrap($this->getQualifiedParentKeyName());
     return $query->where($hash . '.' . $this->foreignKey, '=', new Expression($key));
 }
コード例 #3
0
ファイル: Relationship.php プロジェクト: kalvisbuls/analogue
 /**
  * Add the constraints for a relationship count query.
  *
  * @param  \Analogue\ORM\System\Query $query
  * @param  \Analogue\ORM\System\Query $parent
  * @return \Analogue\ORM\System\Query
  */
 public function getRelationCountQuery(Query $query, Query $parent)
 {
     $query->select(new Expression('count(*)'));
     $key = $this->wrap($this->getQualifiedParentKeyName());
     return $query->where($this->getHasCompareKey(), '=', new Expression($key));
 }