Registros relacionados con HABTM que no se filtran por condiciones al usar contenido

Modelo 1 HABTM Modelo 2. En la clase de modelo de Model1, tengo el siguiente código:

public class Model1 extends AppModel
{
    function getResult()
    {
        $this->contain('Model2', array(
            'conditions' => array('Model2.name' => 'foo')
        ));
        $result = $this->findByRelatedId($careNoteId);
        return $result;
    }
}

El resultado tiene todos los registros Model2 relacionados. Solo debería devolver el registro Model2 si el nombre de ese registro es "foo". No hay error, la condición simplemente nunca se agrega al SQL.

Containable se declara en AppModel's actsAs propiedad.

¿Qué pasa?

preguntado el 04 de diciembre de 13 a las 23:12

¿Puedes pegar todo el código que estás usando? -

No, es MUCHO código. ¿Qué estás buscando, específicamente? -

el contexto en el que está utilizando Containable -

Edité la pregunta para darle más contexto. -

¿Containable ya está adjunto en este modelo? o tal vez en AppModel? -

1 Respuestas

Mi sintaxis estaba mal. Estas sintaxis son correctas:

        $this->contain(array(
            'Model2' => array(
                'conditions' => array('Model2.name' => 'foo')
            )
        ));

or

        $this->contain('Model2', array(
            'Model2' => array(
                'conditions' => array('Model2.name' => 'foo')
            )
        ));

Respondido el 07 de diciembre de 13 a las 01:12

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.