830 Star 2.7K Fork 831

GVPJbootProjects / jboot

DB 查询数据条数时,无法使用关联查询

Backlog
殷文旭  Opened this issue

在使用 findListByColumns 方法查询表数据条数时,如果拼接了 关联查询条件,关联条件不起作用。
代码如下:

Columns columns = new Columns();
        columns.add("article.status", status);
        columns.add("m.category_id", categoryId);

        return DAO.leftJoin("article_category_mapping").
                as("m").
                on("article.id = m`.article_id`").
                findCountByColumns(columns);

查看源码,组装 SQL 的过程走到 forFindCountByColumns 方法后,并未将 joins 拼接进去,导致了该BUG。有问题方法代码如下:

public String forFindCountByColumns(String table, List<Column> columns) {
        return SqlBuilder.forFindCountByColumns(table, columns, ' ');
    }

一个拼接了关联查询的例子如下方法:

    public String forPaginateFrom(List<Join> joins, String table, List<Column> columns, String orderBy) {
        return SqlBuilder.forPaginateFrom(joins, table, columns, orderBy, ' ');
    }
61279 fuhai 1578915942 total 2 participants

Comments (2)

殷文旭 2020-06-05 10:56

可以临时用 findCountByColumns()方法查出数据自己计算数量。

61279 fuhai 1578915942
fuhai 2020-06-05 11:18 owner

:+1: 反馈很详细,代码已经提交,下个版本发布。

Sign in to comment

Assignees
Labels
Not set
Projects
Milestones
Branches
Planed to start
Not set
Planed to end
Not set
Top level
Priority
Java
1
https://gitee.com/JbootProjects/jboot.git
git@gitee.com:JbootProjects/jboot.git
JbootProjects
jboot
jboot

Search