首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cakephp find查询不工作

Cakephp find查询不工作
EN

Stack Overflow用户
提问于 2016-03-22 13:57:38
回答 1查看 408关注 0票数 0

我正在尝试使用cakephp模型绑定进行查询。获得意外结果。但是,每当我在phpmyadmin中运行查询时,它都能正常工作。获取此错误

代码语言:javascript
运行
复制
Column not found: 1054 Unknown column 'Comment.post_id' in 'field list'

找不到哪里出了问题

PostsController

代码语言:javascript
运行
复制
$posts = $this->Post->find('all', array(
        'conditions' => array(
            'Post.is_deleted' => 0,
            'Post.is_active' => 1,
        ),
        'fields' => array(
            'Post.post_id,Post.post_title,Post.post_body,User.username,Post.added_time', 
            'Product.product_title','COUNT(Comment.post_id) AS total_comment'
        ),
        'GROUP'=>'Post.post_id',
        'order' => 'added_time DESC',
    ));

Post模型

代码语言:javascript
运行
复制
public $belongsTo = array(
    'User' => array(
        'className' => 'User',
        'foreign_key' => 'post_id'
    ),
    'Product' => array(
        'className' => 'Product',
        'foreign_key' => 'post_id'
    )
);

public $hasMany = array(
    'Comment'=>array(
        'className'=>'Comment',
        'foreign_key'=>'post_id'
    )
);

评论模型

代码语言:javascript
运行
复制
public $belongsTo = array(
    'Post'=>array(
        'className'=>'Post',
        'foreign_key'=>'post_id'
    )
);

我的预期查询

代码语言:javascript
运行
复制
SELECT posts.`post_title`, users.username,products.product_title, posts.post_body, COUNT(comments.post_id) as total_comments from posts LEFT JOIN comments on comments.post_id = posts.post_id LEFT join users on users.user_id = posts.user_id LEFT JOIN products on products.product_id = posts.product_id WHERE posts.is_active = 1 and posts.is_deleted = 0 GROUP BY posts.post_id
EN

回答 1

Stack Overflow用户

发布于 2016-03-22 15:15:25

尝试设置递归级别1或2

代码语言:javascript
运行
复制
$this->Post->find('all', array(
        'conditions' => array(
            'Post.is_deleted' => 0,
            'Post.is_active' => 1,
        ),
        'fields' => array(
            'Post.post_id,Post.post_title,Post.post_body,User.username,Post.added_time', 
            'Product.product_title','COUNT(Comment.post_id) AS total_comment'
        ),
        'GROUP'=>'Post.post_id',
        'order' => 'added_time DESC',
'recursive'=>1
    ));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36147165

复制
相关文章

相似问题

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