Php 显示用户';帖子视图中的用户名,带有相关注释

Php 显示用户';帖子视图中的用户名,带有相关注释,php,cakephp,cakephp-1.3,containable,Php,Cakephp,Cakephp 1.3,Containable,我是CakePHP1.3的新手。。。我想显示或显示用户的用户名而不是用户的id,用户在post视图中发布评论。。。有人能帮我吗 以下是我创建的模型关联: 帖子有很多评论 评论“属于”用户 发布->评论->用户 我已经阅读了CakePHP1.3的可包含行为,但仍然不能很好地理解它。。。请帮助我在post_控制器的view&view.ctp中放置哪些代码,这些代码可以在post视图中显示相关的表 以及如何在POST视图中调用用户的数据 我还是很困惑 提前感谢,Azure我假设您正在comments表

我是CakePHP1.3的新手。。。我想显示或显示用户的用户名而不是用户的id,用户在post视图中发布评论。。。有人能帮我吗

以下是我创建的模型关联:

  • 帖子有很多评论
  • 评论“属于”用户
  • 发布->评论->用户

    我已经阅读了CakePHP1.3的可包含行为,但仍然不能很好地理解它。。。请帮助我在post_控制器的view&view.ctp中放置哪些代码,这些代码可以在post视图中显示相关的表

    以及如何在POST视图中调用用户的数据

    我还是很困惑


    提前感谢,Azure

    我假设您正在comments表中保存用户id,并且用户名位于发布评论的users表中,然后使用以下解决方案

    在控制器方法中:

    $userdata=$this->User->find('all',array('fields'=>array('id','username'),'recursive'=>-1));
    $userid=Set::extract('/User/id', $userdata);
    $username=Set::extract('/User/username', $userdata);
    $data=array_combine($username,$userid);
    $this->set('name',$data);
    
    鉴于:

    $cid=$var['Comment']['user_id'];
    $username=array_search($cid, $name);
    echo $username;
    

    假设

    你有三张桌子,如下所示

    (1) Posts
        *  id
        *  title
    
    (2) Comments
        * id
        * post_id
        * user_id
    
    (3) Users
        * id
        * name
    
    查看PostsController.php文件中的函数

    public function view($id) {
        if (!$id) {
            throw new NotFoundException(__('Invalid post'));
        }
    
        $this->Post->recursive=2;
        $post = $this->Post->findById($id);
        if (!$post) {
            throw new NotFoundException(__('Invalid post'));
        }
        $this->set('post', $post);
    }
    
    app/view/Posts/folder中view.ctp文件的内容

    <!-- File: /app/View/Posts/view.ctp -->
    <h1><?php echo 'Post ID : '.h($post['Post']['id']); ?></h1>
    <h1><?php echo 'Post Title : '.h($post['Post']['title']); ?></h1>
    <?php 
    echo 'Comments By Users : ';
    if(!empty($post['Comment'])){
        foreach ($post['Comment'] as $key=>$value){?>
        <p>User Name : <?php echo $value['User']['name'];?></p>
        <?php }
    }
    else {
        echo '<br/>';
        echo 'No Comments Yet';
    } ?>
    
    
    用户名:

    模型文件:User.php

    <?php
    class User extends AppModel {
        public $hasMany = array(
            'Comment' => array(
                    'className' => 'Comment',
            )
    );
    }
    ?>
    
    <?php
    class Comment extends AppModel {
    public $belongsTo = array(
            'User' => array(
                    'className' => 'User',
                    'foreignKey' => 'user_id'
            )
    );
    }
    ?>
    
    <?php
    class Post extends AppModel {
    public $hasMany = array(
            'Comment' => array(
                    'className' => 'Comment',
            )
    );
    }
    ?>
    
    
    
    模型文件:Comment.php

    <?php
    class User extends AppModel {
        public $hasMany = array(
            'Comment' => array(
                    'className' => 'Comment',
            )
    );
    }
    ?>
    
    <?php
    class Comment extends AppModel {
    public $belongsTo = array(
            'User' => array(
                    'className' => 'User',
                    'foreignKey' => 'user_id'
            )
    );
    }
    ?>
    
    <?php
    class Post extends AppModel {
    public $hasMany = array(
            'Comment' => array(
                    'className' => 'Comment',
            )
    );
    }
    ?>
    
    
    
    模型文件:Post.php

    <?php
    class User extends AppModel {
        public $hasMany = array(
            'Comment' => array(
                    'className' => 'Comment',
            )
    );
    }
    ?>
    
    <?php
    class Comment extends AppModel {
    public $belongsTo = array(
            'User' => array(
                    'className' => 'User',
                    'foreignKey' => 'user_id'
            )
    );
    }
    ?>
    
    <?php
    class Post extends AppModel {
    public $hasMany = array(
            'Comment' => array(
                    'className' => 'Comment',
            )
    );
    }
    ?>
    
    
    
    请帮我解决这个问题!:{非常感谢凯文!这些代码帮了我很大的忙。:D谢谢你花时间来解决我的问题,阿什……我很感激。:D