2013-05-17 2 views
0
Chart hasMany Series 
Series belongsTo Chart 
Series hasAndBelongsToMany Industry 
Series hasAndBelongsToMany Sector 
Industry hasMany Sector 
Sector belongsTo Industry 

Я пытаюсь разрешить пользователям сохранять диаграмму вместе с несколькими сериями.соглашения об именовании полей cakephp - сохранение нескольких моделей

Как я могу назвать поля ввода и какие методы сохранения вызывать для сохранения всех моделей?

ответ

0

Нормальная конвенция сохранить несколько соответствующих значений модели сразу выглядит следующим образом:

$data = array(
    'User' => array('userFieldName' => 'fieldValue'), 
     'Chart' => array(
      array(
       'chartFieldName' => "chartFieldValue", 
       'Series' => array(
        array(
         'firstSerieItemField' => "Value", 
        ), 
        array(
         'secondSerieItemField' => "Value", 
        ) 
        ... 
        ...//More Series Data 
       ) 
      ) 
     ) 
    ); 

$this->User->saveAll($data); 

Примечание: не забудьте установить отношения между моделями

Но вы могли бы для этого, определив правильные значения полей на странице просмотра. просто не забудьте следовать рисунку:

topMdel["topModelFieldName"]; 
topModel["FirstAssociateModel"]["FirstAssociateModelFieldName"]; 
topModel["FirstAssociateModel"]["SecondAssociateModel"]["SecondAssociateModelFieldName"]; 

Чтобы быть более понятным. в вашем случае:

Для полей данных Usermodel:

User["user_name"]; 
User["user_email"]; //etc. 

Для полей данных Диаграмма модели:

User["Chart"]["chart_name"]; 
User["Chart"]["chart_value"]; //etc. 

надеждой, что помогает. Для полей данных модели моделей:

User["Chart"]["Series"][0]["series_1_name"]; 
User["Chart"]["Series"][1]["series_2_name"]; 
User["Chart"]["Series"][2]["series_2_name"];