首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于cakephp中的另一个表获取一个表的条目

基于cakephp中的另一个表获取一个表的条目
EN

Stack Overflow用户
提问于 2015-11-15 17:07:04
回答 1查看 416关注 0票数 0

我有两张桌子,

情绪和投票,

选票包含使用参数vote.moodId添加的每个情绪的选票。

我正在努力让我所投票的特定类型的情绪增加。我使用的是蛋糕php

代码语言:javascript
运行
复制
$conditions = array(
                'Mood.userId'=>$userId,
                                'Mood.moodType'=>MOOD_IT
                );

            $moods = $this->Mood->find('all', array('conditions'=>$conditions,
            'fields' => $this->mood_fields_it,
            'order' => array('Mood.created DESC'),
                        'limit' => 20,
                        'offset' => $offset * 20
            ));

现在,这是使用我的userId将所有情绪添加到数据库中,而不是使用userId = myUserid来获得我投票没有的情绪吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-15 19:22:24

你的Mood.php模型应该

代码语言:javascript
运行
复制
public $hasMany = array(
    'Vote' => array(
        'className' => 'Vote',
        'foreignKey' => 'mood_id'
    )
);

在选票表中,确保添加了一个列mood_id (整数)。这就把投票与情绪联系在一起。若要基于相关模型进行筛选,可以使用“可包含”。在AppModel.php中添加以下内容:

代码语言:javascript
运行
复制
public $actsAs = array('Containable');

那么您的发现应该如下所示:

代码语言:javascript
运行
复制
$conditions = array(
                'Mood.userId !='=>$userId, // all Moods that not yours
                 'Mood.moodType'=>MOOD_IT
              );

$moods = $this->Mood->find('all', 
                            array(
                                'conditions'=>$conditions,
                                'contain' => array('Vote' => array(
                                                              'conditions'  =>  array('Vote.userId' =>  $userId) // find your votes
                                                             )
                                                    ),
                                'fields' => $this->mood_fields_it,
                                'order' => array('Mood.created DESC'),
                                'limit' => 20,
                                'offset' => $offset * 20
                            ));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33722393

复制
相关文章

相似问题

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