2013-01-15 74 views
1

我使用cakephp 1.3與MySQL數據庫和引擎是MYISAM,我在關係中遇到問題。我有兩個表名Organizatio n和OrgClasses,這兩個表都與mbo_studio_id關聯,這在兩個表中都很常見。cakephp屬於自定義條件問題

組織
Id(PK)namembo_studio_id

org_classes
id(PK)name,datembo_studio_id

我想對mbo_studio_id條件獲取數據,但它增加了一個條件通過主鍵OrgClasses

var $belongsTo = array(

    'OrgClass' => array(
     'className' => 'OrgClass', 
     'foreignKey' => 'mbo_studio_id', 
     'conditions' => array('OrgClass.mbo_studio_id' => 'Organization.mbo_studio_id'), 
     'order' => 'OrgClass.date DESC', 
     'dependent' => false, 
    ) 
); 

我得到下面的查詢

SELECT `Organization`.`id`, `Organization`.`name, `Organization`.`mbo_studio_id`, `OrgClass`.` id`,`OrgClass`.`mbo_studio_id`, `OrgClass`.`name`, `OrgClass`.`date` 
FROM `organizations` AS `Organization` 
LEFT JOIN `org_classes` AS `OrgClass` ON (`Organization`.`mbo_studio_id` = `OrgClass`.`id` AND `OrgClass`.`mbo_studio_id` = Organization.mbo_studio_id) 

在這裏我不想Organizationmbo_studio_id = OrgClassid查詢中的條件。

感謝

回答

5

然後,你需要外鍵設置爲false:

'foreignKey' => false, 

這樣,它只會使用您的自定義條件。

+0

感謝提醒我忘記標記foreignKey爲假。 –