【发布时间】:2011-12-13 05:04:17
【问题描述】:
我有一个简单的问题:如何使用 CodeIgniter 的 ActiveRecord join 函数?我想要这个:
LEFT JOIN cimke ON (mk_terem.id_kicsoda=5 AND mk_terem.id_target=cimke.id_cimke)
LEFT JOIN tanar ON (mk_terem.id_kicsoda=1 AND mk_terem.id_target=tanar.id_tanar)
但如果我使用$this->db->join(cimke,"mk_terem.id_kicsoda=5 AND mk_terem.id_target=cimke.id_cimke"),则5 的值将在反引号之间。
我该怎么做?
更新
我想要什么?如果mk_terem.id_kicsoda 是1,那么我想要tanar.nev,当mk_terem.id_kicsoda 是5 时,我想要cimke.nev。
完整的 SQL 查询:
SELECT
terem.nev terem_nev,
elem_tipus.nev tipus_nev,
(IFNULL(cimke.nev,tanar.nev)) nev
FROM mk_terem
LEFT JOIN terem ON mk_terem.id_terem=terem.id_terem
LEFT JOIN cimke ON (mk_terem.id_kicsoda=5 AND mk_terem.id_target=cimke.id_cimke)
LEFT JOIN tanar ON (mk_terem.id_kicsoda=1 AND mk_terem.id_target=tanar.id_tanar)
LEFT JOIN elem_tipus ON (mk_terem.id_kicsoda=elem_tipus.id_kicsoda)
【问题讨论】:
-
此问题已在 CI v3-DEV 中修复。顺便说一句,几个月前,我 explained here 如何破解 CI AR 来实现这一目标。
标签: php mysql codeigniter