从cakephp中的另一个表中获取表的计数

时间:2017-04-27 10:21:52

标签: php mysql cakephp-3.0

我正在尝试使用cakephp3从另一个表中获取表的数量,但是我收到了错误

  

错误:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与MariaDB服务器版本对应的手册,以便在“”附近使用正确的语法.AS Transactions__COUNT()FROM Transactions Transactions LEFT JOIN transactio'at line 1

我不知道我的代码有什么问题!!

这是我的控制器:

  $data = $this->Transactions->find(
        'all', 
        array(
            'fields' => array('COUNT(*)'),
            'group' => array('transactions_type_id'),
            'contain' => array('TransactionsTypes')
             )                );

这是我的ctp:

 <?php 
                        foreach ($data as $transactionsType) {

                            ?>
             <li>
                <p class="clearfix"><i class="icon-radio-checked text-info"></i><b><?php echo $transactionsType['title'] ?> </b><span>210</span>
                </p>
                <div class="progress progress-md">
                    <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="8" aria-valuemin="0" aria-valuemax="100" style="width: 8%"><span class="sr-only">10% Complete (success)</span>
                    </div>
                </div>
            </li>
             <?php }
                        ?>

1 个答案:

答案 0 :(得分:0)

您可以使用count()功能。

$count=TableRegistry::get('Transactions')
    ->find()
    ->contain('TransactionsTypes')
    ->group('Transactions.transactions_type_id')
    ->count();