Query sql for cakephp

1

How do I query below in cakephp?

    SELECT * 
    FROM tramitacaos
    INNER JOIN protocolos ON tramitacaos.protocolo_id = protocolos.id
    WHERE (
    protocolo_id, data_origem
    )
    IN (
    SELECT protocolo_id, MAX( data_origem ) 
    FROM tramitacaos
    WHERE unidade_origem_id =462
    GROUP BY protocolo_id
    )
    
asked by anonymous 05.04.2016 / 21:18

1 answer

0

You can use this query using ConnectionManager

use Cake\Datasource\ConnectionManager;

$connection = ConnectionManager::get('default');
$results = $connection->execute(
    'SELECT 
        * 
    FROM tramitacaos
    INNER JOIN protocolos 
        ON tramitacaos.protocolo_id = protocolos.id
    WHERE 
        (protocolo_id, data_origem) IN 
        (
            SELECT 
                protocolo_id, 
                MAX( data_origem ) 
            FROM 
                tramitacaos
            WHERE 
                unidade_origem_id = :unidadeOrigemId
            GROUP BY protocolo_id
        )',
        ['unidadeOrigemId' => 462]
    )->fetchAll('assoc');
    
05.04.2016 / 21:44