Cakephp 2.0 で開発したサイトがあります。私は3つのテーブルを持っています:
- アクティビティ、
- 活動内容
- ActivityImageIngredients.
アクティビティには 1 つの ActivityIngredients があります
アクティビティには、ActivityImageIngredients が 1 つあります。
コントローラーでクエリを作成し、再帰 1 でアクティビティを検索します (このテーブルには作成されたフィールドがあります)。アクティビティの作成順に、ActivityIngredients、ActivityImageIngredients のすべての結果をページに出力します。配列を印刷すると、最初の ActivityIngredients が順番に返され、その後に順番に返されます。しかし、私は、anc ActivityImageIngredients が最初に ActivityIngredients を作成した場合、その前にあることを望んでいます。2つの別々の配列があると思います。クエリは単純な検索です:
$conditions = array('Activity.user_id' => $id );
$activity = $this->User->Activity->find('all', array('conditions' => $conditions));
$this->set('activity', $activity);
ユーザーは、他のフィールドの条件で作成された多くの行動注文を持っており、このモードで結果を自分のビューに出力します。
<?php
//var_dump($activity);
foreach ($activity as $act) {
?>
<div class="line-cnt"><div class="line">
</div>
</div>
<h2>Attività</h2>
<div class="table">
<div>
<div>Activity created</div><div><?php echo $act['Activity']['created']; ?></div>
</div>
<div>
<div>Actions text</div><div><?php echo $act['Action']['text']; ?></div>
</div>
<div>
<div>ActivityIngredient ingredient_id</div><div><?php
if (isset($act['ActivityImageIngredients']['IngredientAlias']['alias'])){
echo $act['ActivityImageIngredients']['IngredientAlias']['alias'];
}
if (isset($act['ActivityIngredients']['IngredientAlias']['alias'])){
echo $act['ActivityIngredients']['IngredientAlias']['alias'];
}
?>
</div>
</div>
</div>
<?php
}
?>
配列ActivityImageIngredientsとActivityIngredientsをマージしたいのですが、そのActivityの作成順は可能ですか?