CakePHP FormHelper不同意使用Containeable返回的数据

CakePHP FormHelper不同意使用Containeable返回的数据,cakephp,containable,formhelper,Cakephp,Containable,Formhelper,我被一件相当简单的事情缠住了: SN有许多NA。我检索数据,并在包含的NAs上使用 $this->find('all',array( 'recursive' => -1, 'conditions' => array( 'SN.deleted IS NULL', 'SN.user_id' => $user_id, ), 'contain' => a

我被一件相当简单的事情缠住了:
SN有许多NA。我检索数据,并在包含的NAs上使用

 $this->find('all',array(
        'recursive' => -1,
        'conditions' => array(
            'SN.deleted IS NULL',
            'SN.user_id' => $user_id,
            ),
        'contain' => array(
            'NA' => array('conditions'=> array('wave' => 1) ),
        )
    ));
SN和NA都是可容纳的

我得到了数据,但NA没有嵌套在SN数组中:

array(
  (int) 0 => array(
    'SN' => array(
        'id' => '1',
        'user_id' => '1',
    ),
    'NA' => array(
        (int) 0 => array(
            'id' => '1',
            'SN_id' => '1',
            'wave' => '1',
        )
    )
),
这会导致使用FormHelper时出现许多恼人的行为(我现在通过根据需要对数据进行处理来修复这些行为,但我仍然希望了解我做错了什么),例如,使用Containeable返回的数据,我无法指定路径

debug($this->data[$s]['NA'][0]['wave']); # would work
echo $this->Form->input("$s.NA.0.role"); # doesn't work
# leads to data[SN][0][NA][0][role] # SN is auto-prepended
echo $this->Form->input("$s.SA.NA.0.role"); # what I use after massaging the data so it's nested
我仍然有问题,验证消息没有显示在它们应该的位置,尽管我尝试了按摩数据和错误消息数组