/** * 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)); }
/** * 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)); }
/** * 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)); }