2015-11-07 27 views
0

我有3個表格:用戶,評論和視頻。cakephp而不是user_id我如何在視圖中獲取實例用戶名

在我的視頻view.ctp我無法獲得用戶名顯示,只有user_id。

我無法弄清楚,有人能指出我的方向是正確的嗎?

用戶模型:

public $hasMany = array(
     'Comment' => array(
      'className' => 'Comment', 
      'foreignKey' => 'user_id', 
      'dependent' => false 
     ), 
} 

視頻模型:

public $hasMany = array(
     'Comment' => array(
      'className' => 'Comment', 
      'foreignKey' => 'video_id', 
      'dependent' => false 
     ), 
} 

Comment模型:

public $belongsTo = array(
     'User' => array(
      'className' => 'User', 
      'foreignKey' => 'user_id' 
     ), 
     'Video' => array(
      'className' => 'Video', 
      'foreignKey' => 'video_id' 
     ) 
    ); 

}

畫view.ctp

<?php if (!empty($video['Comment'])): ?> 
     <?php foreach ($video['Comment'] as $comment): ?> 
     <p><?php echo $comment['comment_created']; ?></p> 
     <p><?php echo $comment['User']['user_username']; ?></p> 
     <p><?php echo $comment['user_id']; ?></p> 
     <p><?php echo $comment['comment_body']; ?></p> 
     <?php endforeach; ?> 
<?php endif; ?> 

VideosController

+0

爲什麼有 '條件'=> '', '字段'=> '', '順序'=> '',像空東西 –

+0

被移除空的東西解決了你的問題? –

+0

不,不幸的不是。 – Gilko

回答

1

解決方案:

在控制器:

$comments = $this->Video->Comment->find('all', array('conditions' => array('Comment.video_id' => $id))); 

在視圖:

<?php foreach ($comments as $comment): ?> 
    <p><?php echo $comment['User']['user_username']; ?></p> 
    <p><?php echo $comment['Comment']['comment_created']; ?></p> 
    <p><?php echo $comment['Comment']['comment_body']; ?></p> 
<?php endforeach; ?> 
相關問題