我的模型名为“ Objekt ”,它有这种关系:
var ??? = array(
'ObjektArtenInternet' => array(
'className' => 'ObjektArtenInternet',
'foreignKey' => 'OBI_ID',
//'conditions' => '',
'fields' => 'OBI_SORTIERUNG',
//'order' => ''
)
);
我现在要做的是这句话:
SELECT DISTINCT detailobjekt.OBI_ID,OBI_UET_BESCHREIBUNG, OBI_SORTIERUNG来自detailobjekt,objektarten_internet WHERE detailobjekt.OBI_ID = objektarten_internet.OBI_ID
但我无法弄清楚如何设置正确的关系才能做到这一点。
使用$belongsTo or $hasOne
我总是得到一个我不需要的连接,在这种情况下,我很简单想要查询2个表,如上例所示。
我该怎么做? 请帮帮我。 谢谢!
答案 0 :(得分:0)
CakePHP对此类查询没有ORM支持。您设置的关系不会写这样的查询。您有两种选择之一。
1-使用ORM并根据关系允许JOIN。
2-使用$ this-> Model-> query();
编写您自己的查询您必须权衡任一选项的优缺点。但是你为什么不想加入呢?允许加入有什么问题?
此外,无论如何,MySQL在你的查询上都相当于INNER JOIN。此查询在语法上与您的查询相同:
SELECT *
FROM <firstTable> a INNER JOIN <anotherTable> b
ON a.<someColumn> = b.<anotherColumn>