2012-03-01 3 views
0

У меня есть набор данных, который, кажется, функционирует, как и должно быть (под):Self-join looping in view?

Array 
(
[0] => Array 
    (
     [Collaboration] => Array 
      (
       [id] => 18 
       [parent_id] => 
       [created] => 2012-01-14 20:17:00 
       [title] => Title 1 
       [message] => Lorem ipsum dolor sit amet major 1. 
       [type] => Competition 
       [0] => Array 
        (
         [id] => 100 
         [parent_id] => 18 
         [created] => 2012-02-29 14:07:23 
         [title] => Title sub 1 
         [message] => Lorem ipsum dolor sit amet sub 1. 
         [type] => Message 
        ) 

       [1] => Array 
        (
         [id] => 101 
         [parent_id] => 18 
         [created] => 2012-02-29 14:07:23 
         [title] => Title sub 2 
         [message] => Lorem ipsum dolor sit amet sub 2. 
         [type] => Message 
        ) 

      ) 

     [Registration] => Array 
      (
      ) 

    ) 

[1] => Array 
    (
     [Collaboration] => Array 
      (... 

Что так, что я мог бы сделать этот автообъединение набор данных в виду? Я могу видеть данные таким образом

<table> 
     <tr> 
     <td><?php echo $collaboration['Collaboration'][0]['message'];?></td>   
     </tr> 
</table> 

но, конечно, это не так, как следует использовать эти массивы. Как петля через этот внутренний массив?

Спасибо,

+0

Эта структура массива кажется очень необычной. Откуда это происходит, какой запрос производит это? – deceze

ответ

0

Модель:

var $hasMany = array('Registration','Collaboration' => array('foreignKey' => 'parent_id')); 

и контроллер:

function message_board() { 
$this->paginate['Collaboration'] = array(
'conditions' 
=> array('Collaboration.to_name' => array('Extranet', 'Internet'), 'AND' 
=> array('Collaboration.company_id' => Configure::read('company'), 'AND' 
=> array('Collaboration.parent_id' => null))), 
'limit' => 10, 
'order' => 'Collaboration.created DESC' 
); 

и таблица:

id    int(11) PK 
parent_id  int(11) 
created   datetime 
title   varchar(1000) 
message   longtext... 

// Яри