我有一个节点表(Node
模型)。我希望它与不同的数据类型相关联,但只有当它的字段设置为1
时才有效。根据主模型的数据可能有关联吗?
实施例:
我nodes
表具有data_article
字段(tinyint 1
)。我只希望节点$hasMany Article
该字段是1
我尝试这样做:
public $hasMany = array(
'Article' => array(
'conditions' => array('Node.data_articles' => '1')
),
);
但我得到一个错误:
Column not found: 1054 Unknown column 'Node.data_articles' in 'where clause'
因为联想是做找条在它自己的查询中:
SELECT `Article`.`id`, `Article`.`title`, `Article`.`node_id`, ...more fields...
FROM `mydatabase`.`articles` AS `Article`
WHERE `Node`.`data_artiles` = '1'
AND `Article`.`node_id` = ('501991c2-ae30-404a-ae03-2ca44314735d')
显然这不起作用,因为Node表是在这个查询中根本没有加入。
TLDR:
是否有可能有关联,或在主模式不是基于场?如果没有,我还可以如何将不同的数据类型保存在多个表中,而不必每次都查询它们?
工作 - 谢谢。可能更好地执行快速查询,如果它通过1-4连接减少主要查询。 – Dave 2012-08-23 13:18:16