1

私はmysqlデータベースでcakephp1.3を使用しており、エンジンはMYISAMですが、人間関係に問題があります。Organizationとという名前の2つのテーブルがありOrgClasses、これら2つは関連付けられておりmbo_studio_id、両方のテーブルに共通しています。

組織
Id(PK)、、name_mbo_studio_id

org_classes
id(PK)、、name,date_mbo_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クエリの条件。

ありがとう

4

1 に答える 1

5

次に、foreignKey を false に設定する必要があります。

 'foreignKey' => false,

このようにして、カスタム条件のみが使用されます。

于 2013-01-15T11:58:12.243 に答える