在我的简单内连接查询上强制左连接

时间:2010-09-28 10:35:38

标签: cakephp model join

该网站已经建成多年。我正在做一些修改。它有控制器“帖子”和“主题”。在主题页面上显示所有最近的帖子。所以这是从“帖子”表中简单查找帖子。由于我们显示所有“帖子”而非“主题”特定的“帖子”,因此获取并非全部与主题相关联。在主题控制器中, App :: import('Model','Post');和$ Posts =新帖子;  添加,我从模型“发布”调用动作“getDiscussions”。问题是,虽然我没有使用任何左边连接“主题”和“用户”(这是一个用于显示用户详细信息与post的模型),查询是添加左连接与两个表,这是一个错误结果

请帮忙。

非常感谢 Yukti

1 个答案:

答案 0 :(得分:1)

我认为最好尝试找出蛋糕为什么要进行这些“连接”,而不是执行另一个强制查询,因此您可能需要查看模型关联以检查依赖性。此外,您可以设置$this->Posts->recursive = -1;以确保不导入不需要的内容。

最后,我不确定您要执行的查询是什么,所以我无法帮助您。但是,这里是我成功用于执行左连接的查询示例,因为我注意到我在编写自己的连接时发现的许多示例都被窃听:

$user_record = $this->User->find('first', array(
        'conditions' => array('`Openidurl`.`openid`' => $openid),
        'joins' => array(
            array(
                'table' => 'openidurls',
                'alias' => 'Openidurl',
                'type' => 'LEFT',
                'foreignKey' => 'user_id',
                'conditions'=> array('`Openidurl`.`user_id` = `User`.`id`')
            )
        )
    )
);