Php Codeigniter Datamapper其他\u字段是否必须自动附加\u id?

Php Codeigniter Datamapper其他\u字段是否必须自动附加\u id?,php,codeigniter,codeigniter-datamapper,Php,Codeigniter,Codeigniter Datamapper,我在加入表时遇到Codeigniter Datamapper问题。我有两张桌子: Purchase purchase_id, ref ... Stock stock_id, purchase_ref... 我创造了一个有很多关系的世界: 购买: public $has_many = array( 'stock' => array( 'join_table' => 'stocks', 'oth

我在加入表时遇到Codeigniter Datamapper问题。我有两张桌子:

Purchase
purchase_id, ref ...

Stock
stock_id, purchase_ref...
我创造了一个有很多关系的世界:

购买:

 public $has_many = array(
            'stock' => array(
                'join_table' => 'stocks',
                'other_field' => 'purchase_ref',
                'cascade_delete' => TRUE
            )
    );
股票:

public $has_one = array(
            'purchase'=>array(
                'join_other_as' => 'purchase_ref',
                'join_table' => 'purchases',
                'cascade_delete' => FALSE
            )
    );
但是datamapper似乎在我想加入的列中添加了_id,它是购买_ref_id sql语句变成如下所示:

...LEFT OUTER JOIN "stocks" stocks ON "purchases"."id" = "stocks"."purchase_ref_id"...
这样做是为了避免在datamapper中加入表时附加_id吗?thx很多。

这是一个,您不能用当前版本更改它。恐怕您要么必须修补库的代码,要么更改数据库模式