1

我的程序正在使用带有 CodeIgniter 的 WanWizard DataMapper ORM,并且需要基于连接表中的字段执行简单的查询。这是我的代码:

$d = new Deal();

$deals = $d
    ->where_join_field('networks', 'status', 'active')
    ->get();

如您所见,相当简单。“交易”和“网络”之间的多对多关系,在连接表中有一个“状态”字段。但是,这是它生成的查询:

SELECT * FROM (`deal`) WHERE `deal_network`.`status` = 'active'

显然,这根本行不通,因为没有JOIN地方可以引入deal_network表。我尝试使用include_related,但它将deal_network表别名为networks_deal_network,导致表引用不正确。如何JOIN正确地将 DataMapper 到该表的查询中?

4

1 回答 1

1

看来这_join_fieldlibraries/datamapper.php. 我分叉并提交了一个带有修复程序的拉取请求。

https://bitbucket.org/jonahbron/datamapper

于 2012-11-19T23:49:37.113 回答