如何从$allposts=$this->paginate('Post');获取用户名,其中USER_ID是POSTS表的外键? [英] CakePHP-2.0 How can i get the username from $allposts=$this->paginate('Post'); where user_id is foreign key of posts table?

查看:0
本文介绍了如何从$allposts=$this->paginate('Post');获取用户名,其中USER_ID是POSTS表的外键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用CakeDC-USERS插件。

<?php
class Post extends AppModel { 
    public $useTable='posts';
    public $belongsTo = array('User');
    public $hasMany=array('Comment');
}

我不得不使用分页:

$allposts=$this->paginate('Post');

我可以通过以下方式获取用户ID:

foreach ($allposts as $post) {
    debug($post['Post']['user_id']);

但我需要用户名,而不是用户ID。如何获取用户名?

推荐答案

默认情况下,CakPHP的可包含功能会隐藏所有关联的模型:http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

如果只想添加关联模型的一个字段,可以使用以下语法:

$allposts = $this->Post->find('all', array('contain' => 'User.username'));
或者在您的控制器类中使用以下代码:(http://book.cakephp.org/1.3/en/view/1232/Controller-Setup)

var $paginate = array('contain' => 'User.username');

尝试以下操作以访问它:

$post['User']['username'];

这篇关于如何从$allposts=$this-&amp;gt;paginate(&amp;#39;Post&amp;#39;);获取用户名,其中USER_ID是POSTS表的外键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆