Codeigniter 原则1.2,在多对多表上运行查询
我想根据原则1.2对自动生成的表进行查询。在这种情况下,我有以下疑问:Codeigniter 原则1.2,在多对多表上运行查询,codeigniter,many-to-many,doctrine-1.2,Codeigniter,Many To Many,Doctrine 1.2,我想根据原则1.2对自动生成的表进行查询。在这种情况下,我有以下疑问: SELECT F.id FROM ficha as F JOIN ficha_has_tema FT ON FT.ficha_id = F.id WHERE FT.tema_id = ? GROUP BY F.id HAVING COUNT(F.id) > 1 但我得到了一个错误: 未捕获的异常“Doctrine_exception”,消息为“找不到” 班上的学生在 那么,有没有一种方法可以在不创建ficha_has
SELECT F.id FROM ficha as F JOIN ficha_has_tema FT ON FT.ficha_id = F.id WHERE FT.tema_id = ? GROUP BY F.id HAVING COUNT(F.id) > 1
但我得到了一个错误:
未捕获的异常“Doctrine_exception”,消息为“找不到”
班上的学生在
那么,有没有一种方法可以在不创建ficha_has_tema类的情况下使用条令进行此查询?我需要清点一下
谢谢 我假设您正在这里执行DQL查询。在SQL查询中不可能使用没有关联实体的表 但是,您可以使用运行良好的旧SQL
$q = Doctrine_Manager::getInstance()->getCurrentConnection();
$result = $q->execute("SELECT F.id FROM ficha as F JOIN ficha_has_tema FT ON FT.ficha_id = F.id WHERE FT.tema_id = ? GROUP BY F.id HAVING COUNT(F.id) > 1");
如中所述
或者像从未亲自尝试过这样的东西,可能需要一些修改
$q = new Doctrine_RawSql();
$q->select("{F.id}")
->from("
From ficha as F
JOIN ficha_has_tema FT ON FT.ficha_id = F.id
WHERE FT.tema_id = ?
GROUP BY F.id
HAVING COUNT(F.id) > 1"
);
$result = $q->execute(array($tema_id));