使用类似于连接代码点火器活动记录

时间:2011-06-15 00:40:58

标签: mysql codeigniter activerecord

我在活动记录查询中遇到类似问题。

当我使用join('users parent', 'child.treePath LIKE CONCAT(parent.treePath,"%")')时 代码点火器吐出JOIN 'users' parent ON 'child'.'treePath' 'LIKE' CONCAT(parent.treePath,"%")(请注意,由于降价,我已用(`)替换了所有后退标记('):/)

所以,问题是代码点火器正在(`)包装LIKE。

如何判断尝试格式化此块?

<小时/> 完整查询:

$this->db->select('child.uuid')
         ->from('users child')
         ->join('users parent', 'child.treePath LIKE CONCAT(parent.treePath,"%")')
         ->where('parent.uuid', $uuid)
         ->where("LENGTH(REPLACE(child.treePath, parent.treePath, '')) - LENGTH(REPLACE(REPLACE(child.treePath, parent.treePath, ''), '/', '')) <= ",  $levels, 'false')
         ->where("LENGTH(REPLACE(child.treePath, parent.treePath, '')) - LENGTH(REPLACE(REPLACE(child.treePath, parent.treePath, ''), '/', '')) > ",  0, 'false')
         ->group_by('child.treeId');

1 个答案:

答案 0 :(得分:3)

如果您在一次通话中将所有这些功能链接在一起,您也可以使用

$this->db->query("Write all your specific SQL here");

在您的情况下,没有看到与Codeigniter的查询构建器进行摔跤的好处。