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エイリアス化され、誤ったテーブル参照が発生します。DataMapper をそのテーブルに正しくクエリに入れるにはどうすればよいですか?deal_networknetworks_deal_networkJOIN

4

1 に答える 1

1

これは のテーブル名のバグのよう_join_fieldですlibraries/datamapper.php。フォークして、修正を含むプルリクエストを送信しました。

https://bitbucket.org/jonahbron/datamapper

于 2012-11-19T23:49:37.113 に答える