0

我有 3 个表:帐户、交易、报表。帐户有许多交易和报表(外键是 account_id)。

我需要检索所有具有未结余额和/或未开票交易的帐户的帐户名称、已开票交易余额、未开票(待处理)交易的总数和计数以及最后对帐单日期。

此查询按预期返回数据:

选择
    Account.id,Account.account_name,
    Billed.balance, Pending.items,
    Pending.amount, Stmnt.latest
从
    帐户作为帐户
左连接
    (选择
        帐户ID,
        (SUM(`Transaction`.`debit`) - SUM(`Transaction`.`credit`)) 作为余额
    从
        `事务`作为`事务`
    在哪里
        `事务`.`statement_id` > 0 AND
        `事务`.`void` = 0
    通过...分组
        帐户ID
    ) 按计费方式 Billed.account_id = Account.id
左连接
    (选择
        `account_id`,
        (SUM(`Transaction`.`debit`) - SUM(`Transaction`.`credit`)) 作为金额,
        COUNT(id) 作为项目
    从
        `事务`作为`事务`
    在哪里
        `事务`.`statement_id` = 0 AND
        `事务`.`void` = 0
    通过...分组
        帐户ID
    ) AS Pending ON Pending.account_id = Account.id
左连接
    (选择
        `account_id`,
        MAX(Statement.statement_date) 最新
    从
        `语句`作为`语句`
    在哪里
        `声明`.`void` = 0
    通过...分组
        帐户ID
    ) AS Stmnt ON Stmnt.account_id = Account.id
通过...分组
    帐户ID
拥有
    Billed.balance > 0 或
    待定.pending_ct > 0
订购方式
    帐户名 ASC

我很难成功地将其转换为 CakePHP 2.1 查找或分页友好的选项。

任何想法将不胜感激。

4

0 回答 0