Пример #1
0
 protected function fetch()
 {
     $v0 = $this->it0->current();
     $v1 = $this->it1->current();
     $k0 = $this->it0->key();
     $k1 = $this->it1->key();
     $this->v = $this->valueJoinSelector->select($v0, $v1, $k0, $k1);
     $this->k = $this->keyJoinSelector->select($v0, $v1, $k0, $k1);
 }
Пример #2
0
 protected function fetchInner()
 {
     if ($this->valid()) {
         $innerV = $this->inner->current();
         $innerK = $this->inner->key();
         $this->v = $this->valueJoinSelector->select($this->outerV, $innerV, $this->outerK, $innerK);
         $this->k = $this->keyJoinSelector->select($this->outerV, $innerV, $this->outerK, $innerK);
     }
 }
Пример #3
0
 protected function fetchIfValid()
 {
     if ($this->outer->valid()) {
         $outerV = $this->outer->current();
         $outerK = $this->outer->key();
         $compareKey = $this->outerCompareKeySelector->select($outerV, $outerK);
         $inners = $this->lookup->get($compareKey);
         $inners = new GroupingGinq(IteratorUtil::iterator($inners), $compareKey);
         $this->v = $this->resultValueSelector->select($outerV, $inners, $outerK, $compareKey);
         $this->k = $this->outer->key();
     }
 }