0

次の関連付けを持つ CakePHP アプリケーションに 3 つのモデルがあるとします。

Model1
===========
var $hasMany = array(
    'Model2' => array(
        'className' => 'Model2',
        'foreignKey' => 'model1_id',
        'dependent' => false
    )
);

Model2
===========
var $belongsTo = array(
    'Model1' => array(
        'className' => 'Model1',
        'foreignKey' => 'model1_id'
    )
);

var $hasMany = array(
    'Model3' => array(
        'className' => 'Model3',
        'foreignKey' => 'model2_id',
        'dependent' => false
    )
);

Model3
===========
var $belongsTo = array(
    'Model2' => array(
        'className' => 'Model2',
        'foreignKey' => 'model2_id'
    )
);

結果を最初の列、次に最後に(正確にその順序で)並べ替えながら、find('all')クエリを作成するにはどうすればよいですか。Model3createdModel1Model2Model3

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

2

通常の 'contain' または 'recursive' の代わりに JOIN を使用する必要があります。

CakePHP でテーブルを結合するを参照してください。

于 2012-12-08T04:14:50.900 に答える