问题:
我真的想坚持使用 ActiveRecord 而不是直接使用 SQL..有人可以帮我把它转换成 activerecord 吗?
尝试从另一个表中获取电子邮件地址和联系人姓名。 map_userfields
表是一对多的,每个 p.id
有多行。每个 p.id
每个 uf.fieldid
一行。
请参阅此屏幕截图以获取对 map_userfields 表的引用:
当前非事件记录查询
SELECT
p.id,
(SELECT uf.fieldvalue FROM map_userfields uf WHERE uf.pointid = p.id AND uf.fieldid = 20) As ContactName,
(SELECT uf.fieldvalue FROM map_userfields uf WHERE uf.pointid = p.id AND uf.fieldid = 31) As ContactEmail
FROM
map_points p
WHERE
/** $pointCategory is an array of categories to look for **/
p.type IN($pointCategory)
注意:我使用的是 CodeIgniter 2.1.x、MySQL 5.x、php 5.3
最佳答案
CodeIgniter 的 Active Record 不支持开箱即用的子查询。您需要下载 CodeIgniter Subqueries class .
在 CodeIgniter wiki 中,有一个 article on how to subqueries .
关于mysql - 带有子查询的 CodeIgniter 事件记录查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998163/