Chave estrangeira múltipla para a mesma tabela Gas Orm

Desde esta manhã, estou enfrentando um grande problema. Estou usando o CodeIgniter para desenvolver um site e o GAS ORM para o banco de dados. Eu tenho basicamente duas mesas. Um chamado "pool" e outro chamado "partners". Estou tendo duas associações entre essas duas tabelas, portanto, tenho duas chaves estrangeiras na minha tabela Partners referenciando o pool de tabelas.

Pool (#id: número inteiro, nome: varchar) Parceiros (#id: número inteiro, associado_pool_id => Pool, futur_associated_pool_id => Pool).

Como tenho duas referências à mesma tabela, não posso nomear as chaves estrangeiras "pool_id". Portanto, em meus relacionamentos com o Gas ORM, tenho que especificar os nomes das colunas. Eu faço, mas não funciona ... Aqui está o que eu faço:

class Partner extends ORM {

public $primary_key = 'id';
public $foreign_key = array('\\Model\\Pool' => 'associated_pool_id', '\\Model\\Pool' => 'future_associated_pool_id');

function _init()
{

    // Relationship definition
    self::$relationships = array(
            'associated_pool' => ORM::belongs_to('\\Model\\Pool'),
            'future_association_pool'  => ORM::belongs_to('\\Model\\Pool'),
    );

    self::$fields = array(
        'id' => ORM::field('auto[11]'),
        'name' => ORM::field('char[255]'),
        'associated_pool_id' => ORM::field('int[11]'),
        'future_associated_pool_id' => ORM::field('int[11]')
    );

}

e na minha classe Pool:

class Pool extends ORM {

public $primary_key = 'id';

function _init()
{
    // Relationship definition
    self::$relationships = array(
            'associated_partner' => ORM::has_many('\\Model\\Partner'),
            'future_associated_partner'  => ORM::has_many('\\Model\\Partner'),
    );

    self::$fields = array(
        'id' => ORM::field('auto[11]'),
        'name' => ORM::field('char[50]'),
    );

}

Eu tenho um controlador de teste testando se está tudo bem:

class Welcome extends CI_Controller {
public function index()
{

    $pool = \Model\Pool::find(1);
    echo $pool->name;
    $partners = $pool->associated_partner();
    var_dump($partners);
}

Mas eu tenho um erro dizendo:

Número do erro: 1054

Champ 'partner.pool_id' inconnu dans where cláusula

SELECIONE DEpartner ONDEpartner.pool_id EM 1)

Eu não sei como especificar para Gas ORM que não deve levar "pool_id", mas "Associated_pool_id" ....

Obrigado pela ajuda!!!!!!!!!!!!

questionAnswers(1)

yourAnswerToTheQuestion