Error con una consulta en dos modelos de un complemento - CakePHP

Estoy desarrollando un complemento conEl modelo A tiene muchos modelos B. Puedo guardar correctamente todos los datos con un simple saveAll en los dos modelos.

Pero cuando intento ejecutar una consulta simple en los dos modelos, sucede algo extraño.

Esta consulta funciona:
$ModelA = new ModelA();
$result = $ModelA->find('all', array(
    'recursive' => 1
));
pr($result);

Array
(
    [0] => Array
        (
            [ModelA] => Array
                (
                    [id] => 1
                    [field] => value
                )
            [ModelB] => Array
                (
                    [0] => Array
                        (
                            [id] => 1
                            [model_a_id] => 1
                        )
                    [1] => Array
                        (
                            [id] => 2
                            [model_a_id] => 1
                        )
                )
        )
)
Pero agregar una condición en ModelB no funciona:
$ModelA = new ModelA();
$result = $ModelA->find('all', array(
    'recursive' => 1,
    'conditions' => array(
        'ModelB.id' => 2
    )
));
pr($result);
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ModelB.id' in 'where clause'
Pero este trabajo:
$ModelA = new ModelA();
$result = $ModelA->ModelB->find('all', array(
    'recursive' => 1,
    'conditions' => array(
        'ModelA.field' => 'value'
    )
));
pr($result);

Array
(
    [0] => Array
        (
            [ModelB] => Array
                (
                    [id] => 2
                    [model_a_id] => 1
                )
            [ModelA] => Array
                (
                    [id] => 1
                    [field] => value
                )
        )
)

Alguien tiene una idea? ¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta