My syntax was wrong. These syntaxes are correct:
$this->contain(array(
'Model2' => array(
'conditions' => array('Model2.name' => 'foo')
)
));
or
$this->contain('Model2', array(
'Model2' => array(
'conditions' => array('Model2.name' => 'foo')
)
));