이 질문은 거절 될 수도 있습니다. 그러나 나는 약간의 질문 및 튜토리얼과 혼동하고있다.cakephp saveAll이 (가) 연관 관계가 작동하지 않음
다음 코드를 사용하여 배열을 저장하려고합니다.
$data = array(
'name' => 'ques 1',
'description' => 'lskjdf sldkfj sdlfkjsd flskdjf sldkfjsd',
'objective' => 'jd ldkjf sldkf sldfj sdlfjdlsfsjfl ds',
'Question' => array(
'type' => 'BOOLEAN',
'body' => 'slkdjfs dflskdf slkfjsiuwsdjkf sd',
'Answer' => array(
'body' => 'sd fsldkjfs dddd ddd ddd'
),
),
);
$this->Questionnaire->create();
$this->Questionnaire->saveAll($data);
이 코드를 실행 한 후 설문지에는 3 가지 질문이 있지만 답변이 없습니다. 단 하나의 질문에만 본문 값이 있습니다.
이것은 내 모델 클래스입니다.
Questionnaire.php
<?php
App::uses('AppModel', 'Model');
/**
* Questionnaire Model
*/
class Questionnaire extends AppModel {
/**
* Validation rules
*
* @var array
*/
public $validate = array(
'name' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Name is required'
)
),
'description' => array(
),
'objective' => array(
),
);
public $hasMany = array(
'Question' => array(
'className' => 'Question',
'foreignKey' => 'questionnairy_id'
),
);
}
Question.php
<?php
App::uses('AppModel', 'Model');
/**
* Question Model
*/
class Question extends AppModel {
/**
* Validation rules
*
* @var array
*/
public $validate = array(
'type' => array(
'valid' => array(
'rule' => array('inList', array(
BOOLEAN_ANSWER,
SINGLE_ANSWER,
MULTIPLE_ANSWER,
)),
'message' => 'Invalide type',
)
),
'body' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Question is required'
)
),
);
public $belongsTo = array(
'Questionnaire' => array(
'className' => 'Questionnaire',
'foreignKey' => 'questionnaire_id'
),
);
public $hasMany = array(
'Answer' => array(
'className' => 'Answer',
'foreignKey' => 'question_id'
),
);
}
Answer.php는
<?php
App::uses('AppModel', 'Model');
/**
* Answer Model
*/
class Answer extends AppModel {
/**
* Validation rules
*
* @var array
*/
public $validate = array(
'body' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'Answer is required'
)
),
);
public $belongsTo = array(
'Question' => array(
'className' => 'Question',
'foreignKey' => 'question_id'
),
);
}
나는이 배열을 저장하는 올바른 방법을 알아야합니다. 도와주세요.
덕분에 코드. 데이터 배열 만 필요합니다. 귀하의 배열로 설문지와 질문을 저장할 수 있습니다. 그러나 대답을 구하지는 못합니다. 이슈가 뭐야? –
예. 그것은 깊은 옵션과 함께 작동합니다. 감사합니다 –
플러그인 모델을 사용하는 경우 Controller :: loadModel() 호출 또는 Controller :: $의 PluginName.ModelClass와 같은 참조 모델은 변수를 사용합니다. –