CodeIgniter DataMapper - поле where_join_, генерирующее неправильный запрос
Моя программа использует 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
эта таблица в запросе правильно?
1 ответ
Похоже, что это ошибка имени таблицы в _join_field
в libraries/datamapper.php
, Я разветвился и отправил пулл-запрос с исправлением.