コード例 #1
0
 /**
  * {@inheritdoc}
  */
 protected function projectDataProvider()
 {
     $forEachProjector = new ForEachProjector(Selectors::key('list'), new ObjectProjector());
     /** @var \Cubiche\Core\Projection\WhereProjector $projector */
     $projector = $this->newTestedInstance(Criteria::property('foo')->eq(1), $forEachProjector);
     $result = new DefaultProjectionBuilder();
     $result->set('foo', 1);
     return array(array($projector, array('list' => array((object) array('foo' => 1), (object) array('foo' => 2), (object) array('foo' => 3))), new \ArrayIterator(array($result))));
 }
コード例 #2
0
 /**
  * {@inheritdoc}
  */
 protected function projectDataProvider()
 {
     /** @var \Cubiche\Core\Projection\PropertyProjectorBuilder $projector */
     $projector = $this->newTestedInstance(Selectors::key('foo'));
     $projector->select(Selectors::key('bar'))->as('baz');
     $result = new DefaultProjectionBuilder();
     $result->set('foo', 1);
     $result->set('baz', 2);
     return array(array($projector, array('foo' => 1, 'bar' => 2), new \ArrayIterator(array($result))));
 }
コード例 #3
0
 /**
  * {@inheritdoc}
  */
 protected function projectDataProvider()
 {
     $propertyProyector = new PropertyProjector();
     $propertyProyector->add(new Property(Selectors::key('bar'), 'fooBar'));
     /** @var \Cubiche\Core\Projection\ForEachProjector $projector */
     $projector = $this->newTestedInstance(Selectors::key('foo'), $propertyProyector);
     $result1 = new DefaultProjectionBuilder();
     $result1->set('fooBar', 1);
     $result2 = new DefaultProjectionBuilder();
     $result2->set('fooBar', 2);
     return array(array($projector, array('foo' => array(array('bar' => 1), array('bar' => 2))), new \ArrayIterator(array($result1, $result2))));
 }
コード例 #4
0
 /**
  * {@inheritdoc}
  */
 protected function projectDataProvider()
 {
     $propertyProyector1 = new PropertyProjector();
     $propertyProyector1->add(new Property(Selectors::key('foo'), 'foo'));
     $propertyProyector2 = new PropertyProjector();
     $propertyProyector2->add(new Property(Selectors::key('bar'), 'bar'));
     /** @var \Cubiche\Core\Projection\JoinProjector $projector */
     $projector = $this->newTestedInstance($propertyProyector1, $propertyProyector2);
     $result = new DefaultProjectionBuilder();
     $result->set('foo', 1);
     $result->set('bar', 2);
     return array(array($projector, array('foo' => 1, 'bar' => 2), new \ArrayIterator(array($result))));
 }
コード例 #5
0
ファイル: Criteria.php プロジェクト: cubiche/cubiche
 /**
  * @return \Cubiche\Core\Predicate\SelectorPredicate
  */
 protected static function this()
 {
     if (self::$self === null) {
         self::$self = new SelectorPredicate(Selectors::this()->selector());
     }
     return self::$self;
 }
コード例 #6
0
 /**
  * @return array
  */
 protected function joinTest()
 {
     $projector = Projectors::select(Selectors::key('foo'))->join(Projectors::forAll(Selectors::key('list'), Projectors::selectAll()))->on('foo')->eq('bar');
     return array($projector, array('foo' => 1, 'list' => array(array('bar' => 1), array('bar' => 2), array('bar' => 3))), new \ArrayIterator(array(DefaultProjectionBuilder::fromObject((object) array('foo' => 1, 'bar' => 1)))));
 }
コード例 #7
0
ファイル: SelectorsTests.php プロジェクト: cubiche/cubiche
 /**
  * @return string[][]
  */
 protected function staticCallDataProvider()
 {
     return array(array(Selectors::key('foo'), Key::class), array(Selectors::property('foo'), Property::class), array(Selectors::method('foo'), Method::class), array(Selectors::callback(function () {
     }), Callback::class), array(Selectors::count(), Count::class), array(Selectors::value('foo'), Value::class), array(Selectors::composite(Selectors::value(array()), Selectors::count()), Composite::class));
 }
コード例 #8
0
ファイル: SelectorPredicate.php プロジェクト: cubiche/cubiche
 /**
  * @return \Cubiche\Core\Predicate\SelectorPredicate
  */
 public function count()
 {
     return $this->select(Selectors::count()->selector());
 }