0

HABTM 関係を使用して接続されているPlaceおよびCategoryという名前のモデルがあります。Placeから特定のフィールドを読み取ると、このような結果に追加のフィールドが表示されます。

array(
'Place' => array(
    'id' => '8'
),
'Category' => array(
    (int) 0 => array(
        'id' => '2',
        'CategoriesPlace' => array(
            'id' => '673',
            'place_id' => '8',
            'category_id' => '2'
        )
    ),
    (int) 1 => array(
        'id' => '3',
        'CategoriesPlace' => array(
            'id' => '674',
            'place_id' => '8',
            'category_id' => '3'
        )
    ),
    (int) 2 => array(
        'id' => '5',
        'CategoriesPlace' => array(
            'id' => '675',
            'place_id' => '8',
            'category_id' => '5'
        )
    )
)

)

このCategoriesPlace配列を表示したくありません。方法はありますか?

4

1 に答える 1

1

2 つの cakephp ソリューション:

$this->Place->recursive=-1;

見つける前に。

または:

$this->Place->contain();

ドキュメントを含む

編集:出力をより細かく制御するには:

収容可能なドキュメント

置く:

public $actsAs = array('Containable');

モデルで。

それで:

$this->Place->find('all', array(
    'contain' => array(
        'Place',
        'Category' => array(
            'fields'=>array('id')
        )
    )
  )
);

Cakephp はクエリを実行するために必要なすべての外部キーを追加するため、機能しない場合があります。

于 2012-08-02T12:31:54.570 に答える