1

我被一些相当简单的东西困住了:
SN hasMany NA。我使用包含的 NA 检索数据,条件是

 $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 都充当 Containable。

我得到了数据,但 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 出现很多烦人的行为(我目前通过根据需要按摩数据来解决这个问题,但我仍然想了解我做错了什么),例如从 Containable 返回的数据,我无法指定路径。

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

即使我尝试同时按摩数据和错误消息数组,我仍然遇到验证消息未显示在应有的位置的问题。

4

0 回答 0