Cakephp使用我的自定义查询

时间:2016-08-09 00:04:14

标签: php json cakephp cakephp-3.0

我的控制器中有这个功能:

public function estadisticas()
{
    $conn = ConnectionManager::get('default');
    $stmt = $conn->execute(
        'SELECT     c.nombre, 
       c.idcomplejo, 
       t.canchafk, 
       Count(*) AS cantidadturnos 
FROM       turno t 
INNER JOIN usuario u ON u.idusuario = t.usuariofk
INNER JOIN cancha ca ON t.canchafk = ca.idcancha 
INNER JOIN complejo c ON c.idcomplejo = ca.complejofk 
INNER JOIN ciudad cc ON cc.idciudad=c.ciudadfk
WHERE      u.escomplejo=0 
AND        cc.paisfk="1" 
AND        u.paisfk="1" 
AND        noasistio=0 
AND        fecha BETWEEN "2016-07-01" AND        "2016-07-30" 
GROUP BY   canchafk');


    $turnos = $stmt ->fetchAll('assoc');

    $this->set('turnos',$turnos);


}

我需要进行自定义查询,因为很难让它像cakephp所说的那样。 结果是每个" turnos":

array(4) { ["nombre"]=> string(7) "Campnou" ["idcomplejo"]=> string(1) "1" ["canchafk"]=> string(1) "1" ["cantidadturnos"]=> string(2) "35" } 

array(4) { ["nombre"]=> string(6) "Uñazo" ["idcomplejo"]=> string(1) "3" ["canchafk"]=> string(1) "6" ["cantidadturnos"]=> string(2) "29" }

像这样的区域还有17个阵列。

当我这样做时:

 <?php foreach ($turnos as $turno): ?>
        <tr>
            <br><?php var_dump($turno) ?></br>
            <td><?= h($turno['idComplejo']) ?></td>
            <td><?= h($turno['canchaFK']) ?></td>
            <td><?= h($turno['cantidadTurnos']) ?></td>
        </tr>
        <?php endforeach; ?>

行是空的,但是cakephp显示了19个空行(查询的总行数)。在phpmyadmin中,查询工作正常。

所以..我有一个问题,试图显示来自json的数据。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

你要回来的数组的键都是小写的,但在你的视图中,你试图用mixedCase键读取东西。数组键区分大小写。