관련 모델 데이터를 Cakephp 1.3에 저장하는 방법을 이해하는 데 문제가 있습니다. 저는 정책이라는 모델과 Declination이라는 모델을 가지고 있습니다. 정책 hasMany Declinations. Declinations belongsTo 정책. 원하는 것은 정책 테이블의 policy_id를 Declinations 테이블의 policy_id 필드에 저장하는 것입니다. 그래서 문제는 해당 모델에서 Policy_Id를 잡는 방법입니다. Declination 모델 또는 컨트롤러에서 Policy_Id를 먼저 설정 한 다음보기의 숨겨진 필드로 전달해야합니까? 여기 관련 모델 데이터 저장
여기public $hasMany = array(
'Declination' => array(
'className' => 'Declination',
'foreignKey' => 'policy_id',
'dependent' => true
)
을 다음과 내 컨트롤러 여기
public function add($id = null) {
if (!empty($this->data)) {
$this->Declination->create();
if ($this->Declination->saveAll($this->data['Declination'])) {
$this->Session->setFlash(__('Declinations saved.', true));
$this->redirect(array(
'controller' => 'coverages',
'action' => 'view',
$id
));
} else {
$this->Session->setFlash(__('Declinations failed to save.', true));
}
}
$reasons = $this->Declination->Reason->find('list');
$contactTypes = $this->Declination->ContactType->find('list');
$this->set(compact('id', 'reasons', 'contactTypes'));
}
같이
public $belongsTo = array(
'Policy' => array(
'className' => 'Policy',
'foreignKey' => 'policy_id'
내 정책 모델은 내 적위 모델 것은 내 생각이다
<?php echo $this->UiForm->input("Declination.{$i}.first_name"); ?>
<?php echo $this->UiForm->input("Declination.{$i}.last_name"); ?>
<?php echo $this->UiForm->input("Declination.{$i}.company"); ?>
<?php echo $this->UiForm->input("Declination.{$i}.contact_type_id"); ?>
<?php echo $this->UiForm->input("Declination.{$i}.phone_number"); ?>
<?php echo $this->UiForm->input("Declination.{$i}.reason_id"); ?>
<?php echo $this->UiForm->input("Declination.{$i}.other", array(
'label' => 'If other, please supply a reason'
)); ?>
<?php echo $this->UiForm->input("Declination.{$i}.dated", array(
'type' => 'text',
'readonly' => 'readonly',
'data-datepicker' => ''
)); ?>
모든 입력 사항을 크게 높이세요! 감사!
귀하가 동일한 결론에 도달했는지 여부에 관계없이 귀하의 질문에 답변 한 경우이를 확인 표시 (체크 표시)하여 다른 사람들이 이미 해결 된 경우 귀하를 도우려고 시간을 낭비하지 않아도됩니다.) – Dave
네,이 질문을 게시 한 직후에 제 생각에 이것을 추가했습니다 .... php echo $ this-> UiForm-> input ("Declination. {$ i} .policy_id", array ('type'= > 'hidden', 'value'=> '$ policy_id')); ?> .... 이제해야 할 일은 내 컨트롤러에서 find 메서드를 호출 한 다음 뷰로 보냅니다. 유일한 것은 그것을 실행하는 방법을 너무 확신하지 못합니다. 이제 Declinations 컨트롤러의 Im이 어떻게 부모 모델의 데이터에 액세스합니까? 나는 협회가 한 가지 방법으로 정의되었다는 것을 알고 있습니다. 다른 방향으로 데이터에 어떻게 액세스합니까? $ this-> Declination-> Policy를 시도했지만 작동하지 않습니다. – SkillSet
그것은 stackoverflow 및 Google을 통해 발견되는 매우 일반적인 질문입니다. – Dave