Xpressengine\DynamicField\RevisionManager::join PHP Method

join() public method

make join query for revision
public join ( array $configs, DynamicQuery $query ) : DynamicQuery
$configs array config entity list
$query Xpressengine\Database\DynamicQuery Illuminate query builder
return Xpressengine\Database\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;
    }

Usage Example

 /**
  * get inserted revision data list by document id
  *
  * @param string       $id     document id
  * @param ConfigEntity $config document config entity
  * @return array
  */
 public function fetchById($id, ConfigEntity $config)
 {
     $query = $this->connection->table($this->table)->where('id', $id);
     $configs = $this->revisionManager->getHandler()->getConfigHandler()->gets($config->get('group'));
     $query = $this->revisionManager->join($configs, $query->getQuery());
     return $query->orderBy($this->table . '.revisionNo', 'desc')->get(['*', 'documents_revision.revisionId as revisionId', 'documents_revision.revisionNo as revisionNo']);
 }
All Usage Examples Of Xpressengine\DynamicField\RevisionManager::join