/** * make join query for revision * * @param array $configs config entity list * @param DynamicQuery $query Illuminate query builder * @return DynamicQuery */ public function join(array $configs, DynamicQuery $query) { $register = $this->handler->getRegisterHandler(); /** * @var ConfigEntity $config */ foreach ($configs as $config) { $type = $register->getType($this->handler, $config->get('typeId')); $type->setConfig($config); $query = $type->joinRevision($query); } return $query; }
/** * test get property * * @return void */ public function testGetProperty() { $conn = $this->conn; $configHandler = $this->configHandler; $registerHandler = $this->registerHandler; $handler = new DynamicFieldHandler($conn, $configHandler, $registerHandler); $this->assertInstanceOf('Xpressengine\\DynamicField\\ConfigHandler', $handler->getConfigHandler()); $this->assertInstanceOf('Xpressengine\\DynamicField\\RegisterHandler', $handler->getRegisterHandler()); $this->assertInstanceOf('Xpressengine\\Database\\VirtualConnectionInterface', $handler->connection()); }
/** * get dynamic field type * * @param string $id id * @return AbstractType */ private function getType($id) { return $this->handler->getRegisterHandler()->getType($this->handler, $id); }
/** * get field type * * @return AbstractType */ protected function getType() { return $this->handler->getRegisterHandler()->getType($this->handler, $this->config->get('typeId')); }