CakePHP: доступ к данным из запроса в представлении - PullRequest
0 голосов
/ 08 сентября 2010

У меня установлены отношения hasMany.Пользователь имеет много проектов.В моем контроллере пользователей в представлении профиля я вижу проекты, возвращаемые для этого пользователя, в дампе SQL.

Я хочу отобразить каждый проект в своем представлении профиля для этого пользователя.Поэтому я установил связь между пользователем и проектами.Пользователь имеет много проектов.Я создал действие профиля в контроллере пользователей со связанным представлением профиля.Когда я перехожу к представлению профиля одного из пользователей с помощью, я вижу, что он запрашивает проекты в дампе SQL.

Это дамп SQL с правильным идентификатором пользователя:

SELECT `Project`.`id`, `Project`.`title`, `Project`.`created`, `Project`.`website`, `Project`.`language_id`, `Project`.`user_id`, `Project`.`description`, `Project`.`tags`, `Project`.`creator_id` FROM `projects` AS `Project` WHERE `Project`.`user_id` = (5)

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

Модель проекта

var $belongsTo = array(
    'User' => array(
        'className'    => 'User',
        'foreignKey'    => 'user_id',
        'counterCache' => 'num_of_projects'
        ),
    'Language'
     );  
?>

Модель пользователя

  var $hasMany = array('Project' => 
                                array('className'     => 'Project', 
                                      'conditions'    => '',
                                      'order'         => '', 
                                      'limit'         => '',                    
                                      'foreignKey'    => 'user_id',              
                                      'dependent'     => true,                   
                                      'exclusive'     => false,                  
                                      'finderQuery'   => '',                      
                                      'fields'        => '',                      
                                      'offset'        => '',                      
                                      'counterQuery'  => ''
                                      )           
                    );

Действия пользователя User_Controller

function profile($id = null) {
    $this->User->id = $id;
    $this->set('user', $this->User->read());
}

1 Ответ

1 голос
/ 08 сентября 2010

По вашему мнению

foreach($user['Project'] as $project)
{
   echo $project['title'].'<br />';
}

Чтобы увидеть более полную картину, просто используйте pr (), вы сможете увидеть, как получить доступ к остальным данным оттуда.

pr($user);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...