Моя программа использует ORM WanWizard DataMapper с CodeIgniter и должна выполнить простой запрос на основе поля в таблице соединений. Вот мой код:
$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
, что приводит к неправильной ссылке на таблицу. Как я могу заставить DataMapper правильно JOIN
эту таблицу включить в запрос?