首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在$hasAndBelongsToMany 2.2上从CakePHP关系中获取数据

在$hasAndBelongsToMany 2.2上从CakePHP关系中获取数据
EN

Stack Overflow用户
提问于 2012-10-17 09:51:42
回答 1查看 830关注 0票数 0

我有3个表:- users订阅(默认情况下应该是posts_users (n-n))

订阅表是此关系所需的n表。我不想叫它"posts_users“,因为它对我的系统来说是非常混乱的,因为我有更多的用户和帖子之间的关系。

为了创建hasAndBelongsToMany关系,我执行了以下操作:

员额(模式):

代码语言:javascript
复制
    public $hasAndBelongsToMany = array(
        'Subscriptions' => array(
                'className' => 'User',
                'joinTable' => 'subscriptions',
                'foreignKey' => 'post_id',
                'associationForeignKey' => 'user_id',
                'unique' => 'keepExisting',
                'conditions' => '',
                'fields' => '',
                'order' => '',
                'limit' => '',
                'offset' => '',
                'finderQuery' => '',
                'deleteQuery' => '',
                'insertQuery' => ''
        )
);

用户(模型):

代码语言:javascript
复制
    public $hasAndBelongsToMany = array(            
    'Post' => array(
        'className' => 'Post',
        'joinTable' => 'subscriptions',
        'foreignKey' => 'user_id',
        'associationForeignKey' => 'post_id',
        'unique' => 'keepExisting',
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'finderQuery' => '',
        'deleteQuery' => '',
        'insertQuery' => ''
    )
);

假设我想用id 3为用户查找订阅的帖子。有什么方法可以做查找来为用户检索订阅帖子的数据吗?我应该在哪个模型中进行查询?怎么做??

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-17 10:26:10

好的。我终于明白了。

您可以从这两个相关模型中的任何一个进行查询。在本例中,Post用户

代码语言:javascript
复制
$this->Post->User->find('all', array(
            'conditions' => array('User.id' => $this->Session->read('Auth.User.id')),
            'contain' => array('Subscriptions')
));

这将返回当前用户的订阅票证(在订阅数组中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12931604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档