public function testFields() { $query = new Query(); $query->from('yiitest', 'user'); $query->fields(['name', 'status']); $this->assertEquals(['name', 'status'], $query->fields); $query->fields('name', 'status'); $this->assertEquals(['name', 'status'], $query->fields); $result = $query->one($this->getConnection()); $this->assertEquals(2, count($result['_source'])); $this->assertArrayHasKey('status', $result['_source']); $this->assertArrayHasKey('name', $result['_source']); $this->assertArrayHasKey('_id', $result); $query->fields([]); $this->assertEquals([], $query->fields); $result = $query->one($this->getConnection()); $this->assertEquals([], $result['_source']); $this->assertArrayHasKey('_id', $result); $query->fields(null); $this->assertNull($query->fields); $result = $query->one($this->getConnection()); $this->assertEquals(3, count($result['_source'])); $this->assertArrayHasKey('status', $result['_source']); $this->assertArrayHasKey('email', $result['_source']); $this->assertArrayHasKey('name', $result['_source']); $this->assertArrayHasKey('_id', $result); }
/** * @return mixed */ public function Build() { // Remove all new lines etc. from the json to make it valid $this->query = json_decode($this->query); $query = new Query(); $query->fields(['name'])->from('api-builder', 'api')->highlight([])->limit(5)->query($this->query); // build and execute the query $command = $query->createCommand(); $rows = $command->search(); // this way you get the raw output of elasticsearch. return $rows; }