protected function buildDataJoinsMany(ConfigInterface $config, array $joinKeys)
    {
        //~ Search for keys
        $keys = '';
        $joinKeys = array_flip($joinKeys);
        foreach ($this->columns as $column) {
            if (!isset($joinKeys[$column->getName()])) {
                continue;
            }

            $keys .= '
            $mapper->addWhere(\'' . $column->getName() . '\', $this->' . $column->getMethodNameGet() .'());';
        }

        if (empty($keys)) {
            throw new \LogicException('Empty keys list for join all method !');
        }

        $propertyCacheName = 'joinManyCache' . $config->getClassname();
        $this->vars['properties'] .= '

    /**
     * @var ' . $config->getClassname() . '[] $' . $propertyCacheName . '
     */
     protected $' . $propertyCacheName . ' = null;';

        //~ Generate method
        return '
    /**
     * Get list of ' . $config->getClassname() . ' data objects.
     *
     * @param  bool $isForceReload
     * @return ' . $config->getClassname() . '[]
     */
    public function getAll' . $config->getClassname() . '($isForceReload = false)
    {
        if ($isForceReload || null === $this->' . $propertyCacheName . ') {
            $mapper = new ' . $config->getClassname() . 'Mapper($this->dependencyContainer->getDatabase(\'' . $config->getDbConfig() . '\'));' .
            $keys . '

            $this->' . $propertyCacheName . ' = $mapper->select();
        }
        
        return $this->' . $propertyCacheName . ';
    }
';
    }
protected function buildDataJoinsMany(ConfigInterface $config, array $joinKeys)
    {
        //~ Search for keys
        $keys = '';
        $joinKeys = array_flip($joinKeys);
        foreach ($this->columns as $column) {
            if (!isset($joinKeys[$column->getName()])) {
                continue;
            }

            $keys .= '
            $mapper->addWhere(\'' . $column->getName() . '\', $this->' . $column->getMethodNameGet() .'());';
        }

        if (empty($keys)) {
            throw new \LogicException('Empty keys list for join all method !');
        }

        $propertyCacheName = 'joinManyCache' . $config->getClassname();
        $this->vars['properties'] .= '

    /**
     * @var ' . $config->getClassname() . '[] $' . $propertyCacheName . '
     */
     protected $' . $propertyCacheName . ' = null;';

        //~ Generate method
        return '
    /**
     * Get list of ' . $config->getClassname() . ' data objects.
     *
     * @param  bool $isForceReload
     * @return ' . $config->getClassname() . '[]
     */
    public function getAll' . $config->getClassname() . '($isForceReload = false)
    {
        if ($isForceReload || null === $this->' . $propertyCacheName . ') {
            $mapper = new ' . $config->getClassname() . 'Mapper($this->dependencyContainer->getDatabase(\'' . $config->getDbConfig() . '\'));' .
            $keys . '

            $this->' . $propertyCacheName . ' = $mapper->select();
        }
        
        return $this->' . $propertyCacheName . ';
    }
';
    }
protected function buildDataJoinsMany ( ConfigInterface $ config , array $ joinKeys ) { //~ Search for keys $ keys = '' ; $ joinKeys = array_flip ( $ joinKeys ) ; foreach ( $ this -> columns as $ column ) { if ( ! isset ( $ joinKeys [ $ column -> getName ( ) ] ) ) { continue ; } $ keys .= '
            $mapper->addWhere(\'' . $ column -> getName ( ) . '\', $this->' . $ column -> getMethodNameGet ( ) . '());' ; } if ( empty ( $ keys ) ) { throw new \ LogicException ( 'Empty keys list for join all method !' ) ; } $ propertyCacheName = 'joinManyCache' . $ config -> getClassname ( ) ; $ this -> vars [ 'properties' ] .= '

    /**
     * @var ' . $ config -> getClassname ( ) . '[] $' . $ propertyCacheName . '
     */
     protected $' . $ propertyCacheName . ' = null;' ; //~ Generate method return '
    /**
     * Get list of ' . $ config -> getClassname ( ) . ' data objects.
     *
     * @param  bool $isForceReload
     * @return ' . $ config -> getClassname ( ) . '[]
     */
    public function getAll' . $ config -> getClassname ( ) . '($isForceReload = false)
    {
        if ($isForceReload || null === $this->' . $ propertyCacheName . ') {
            $mapper = new ' . $ config -> getClassname ( ) . 'Mapper($this->dependencyContainer->getDatabase(\'' . $ config -> getDbConfig ( ) . '\'));' . $ keys . '

            $this->' . $ propertyCacheName . ' = $mapper->select();
        }
        
        return $this->' . $ propertyCacheName . ';
    }
' ; }
Build join many getters

@param  ConfigInterface $config
@param  array $joinKeys
@return string
@throws \LogicException
Build join many getters