Привет всем. Кажется, я не могу заставить эту чертову функцию saveall()
работать. Я сказал, что это волшебно, но у меня не должно быть достаточно мидихлорианов или чего-то другого, что нужно, чтобы зажечь его.
Итак, у меня есть четыре разные таблицы - Вопросы, Комментарии, Сотрудники и Ответы. Вопросы имеют много ответов, и ответы имеют один комментарий. Ответы принадлежат сотрудникам. Вот что настроено в моих моделях:
Модель ответа
var $hasOne = array(
'Comment' => array(
'className' => 'Comment',
'foreignKey' => 'answer_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
var $belongsTo = array(
'Question' => array(
'className' => 'Question',
'foreignKey' => 'question_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Employee' => array(
'className' => 'Employee',
'foreignKey' => 'employee_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Комментарий модели
var $validate = array(
'answer_id' => array(
'numeric' => array(
'rule' => array('numeric'),
),
),
);
var $belongsTo = array(
'Answer' => array(
'className' => 'Answer',
'foreignKey' => 'answer_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Когда я запускаю saveall()
для своих данных, я получаю сообщение о том, что мой answer_id для моих комментариев не является числовым. Вот как настроено мое дерево данных, которое я пытаюсь сохранить (используя $this->Answer->saveall($this->data);
:
[Answer] => Array
(
[1] => Array
(
[question_id] => 1
[employee_id] => 14
[result] => 7
[unique_hash] => t9279kn7vh
)
[3] => Array
(
[question_id] => 3
[employee_id] => 14
[result] => 6
[unique_hash] => t9279kn7vh
)
[4] => Array
(
[question_id] => 4
[employee_id] => 14
[result] => 3
[unique_hash] => t9279kn7vh
)
[5] => Array
(
[question_id] => 5
[employee_id] => 14
[result] => 2
[unique_hash] => t9279kn7vh
)
[6] => Array
(
[question_id] => 6
[employee_id] => 14
[result] => 7
[unique_hash] => t9279kn7vh
)
)
[Comment] => Array
(
[1] => Array
(
[user_id] => 14
[text] => test1
)
[3] => Array
(
[user_id] => 14
[text] => test2
)
[4] => Array
(
[user_id] => 14
[text] => test3
)
[5] => Array
(
[user_id] => 14
[text] => test4
)
[6] => Array
(
[user_id] => 14
[text] => test5
)
)
Может кто-нибудь помочь мне понять, что здесь не так? Я ценю помощь.
РЕДАКТИРОВАТЬ : я обновил массив $ data, чтобы его ключи начинались с нуля с шагом в 1 (т. Е. array(0=>array(),1=>array(),2=>array());
и т. Д.), И это устранило ошибку проверки, но данные все еще не сохраняются.