1

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の作成順は可能ですか?

4

0 に答える 0