CakePHP: görünümünde sorgudan veri erişimini

0 Cevap php

Ben bir hasMany ilişki kurdunuz. Kullanıcı hasMany Projeleri. Profil görünümünde benim users denetçisine ben SQL dökümü bu kullanıcı için iade edilen projeleri görebilirsiniz.

Ben bu kullanıcı için benim profil görünümünde her projeyi görüntülemek istiyorum. Yani kullanıcı ve projeler arasında bir ilişki kurdunuz. Kullanıcı hasMany projeleri. Ben ilişkilendirilmiş profil görünümü ile kullanıcıların denetleyicisi bir profil eylem oluşturduk. Ben birlikte kullanıcıların birinin profil görünümüne gidin, ben bu SQL dökümü projeler için sorgulama olduğunu görebilirsiniz.

Bu doğru kullanıcı kimliği ile SQL dökümü:

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)

Nasıl bu sorgudan verileri kullanabilirsiniz?

Project Model

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

User Model

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

User_Controller's profile action

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

0 Cevap