0

私はCakePHPを学ぶのが初めてです。私はブログのチュートリアルを行い、現在、投稿のカテゴリを追加しようとしています。カテゴリ モデルとサブカテゴリ モデル、および MySQL DB テーブルを作成し、次のようにモデルを関連付けました。

投稿 -> "belongsTo" -> サブカテゴリ -> "belongsTo" -> カテゴリ

投稿 -> サブカテゴリは正常に機能しており、次の方法でビューのサブカテゴリ名を解決できます。

php echo $post['SubCategory']['name'];

さて: リレーションをさらに一歩進めて、投稿ビューで (サブカテゴリ経由で) 投稿のカテゴリ名を取得するにはどうすればよいですか? 次は明らかにカテゴリ ID を示していますが、名前は示していません。

php echo $post['SubCategory']['category_id'];

どうもありがとう!

4

2 に答える 2

0

を調べるとContainableBehavior、本当に必要な結果だけを取得するのに役立ちます。私が常に$recursive = -1提案する最初のことは、Containable を変更して使用することです。これにより、実際には使用しないデータの呼び出しが減るため、アプリのパフォーマンスも大幅に向上します。

あなたの例を使用して:

$results = $this->Post->find('all', array(
  'contain' => array(
    'SubCategory' => array(
      'Category'
    )
  )
));

// in your view foreach loop
echo $post['SubCategory']['Category']['name'];
于 2012-06-14T14:16:47.350 に答える
0

モデルの再帰パラメーターを確認し、ステップ 2 (2 レベルの深さ) に進みます。これにより、定義が正しければカテゴリを使用できます。大量のデータを取得する必要があり、これはサイトの全体的なパフォーマンスに影響を与えることに注意してください.

于 2012-06-14T13:37:32.837 に答える