CakePHP ekle / düzenle formu yabancı anahtar başvuruları dışında, çalışıyor

1 Cevap php

Ben diğer nesneler için bir kaç yabancı anahtar ilişkileri vardır cakephp nesne (SecurityPerson) var.

İşte Yutulan yabancı anahtar başvuruları için Pulldowns üretiyor ekleme / düzenleme görünümü kodu:

echo $form->input('ContractNumber');
echo $form->input('Location');

Burada model, bu nesnelere referanslar bulunuyor:

var $belongsTo = array(
	'ContractNumber' => array(
		'className' => 'ContractNumber',
		'foreignKey' => 'contract_number_id',
		'conditions' => '',
		'fields' => '',
		'order' => ''
	),
	'Location' => array(
		'className' => 'Location',
		'foreignKey' => 'location_id',
		'conditions' => '',
		'fields' => '',
		'order' => ''
	)
);

Ve burada add () denetleyicisi Alakalı parçası:

	if (!empty($this->data)) {
		$this->SecurityPerson->create();
		if ($this->SecurityPerson->save($this->data)) {
			$this->Session->setFlash(__('The SecurityPerson has been saved', true));
			$this->redirect(array('action'=>'index'));
		} else {
			$this->Session->setFlash(__('The SecurityPerson could not be saved. Please, try again.', true));
		}
	}
	$contractNumbers = $this->SecurityPerson->ContractNumber->find('list');
	$locations = $this->SecurityPerson->Location->find('list');
	$this->set(compact('contractNumbers', 'locations'));

Tüm ekleme ve düzenleme sayfalarındaki Pulldowns için oluşturulan HTML dahil, bana güzel görünüyor. AMA ... Sadece nulls sercurity_person satır ekledi olsun.

Herkesin kolaylıkla neler olup bittiğini görmek, ya da bana sorun giderme iyi bir başlangıç ​​verebilir misiniz?

EDIT: What I've tried so far:

Ben SQL sorgusu bakarak denedim. Kimliği adlı yabancı anahtar için alan adları INSERT veya UPDATE deyim görünmüyor.

I've tried looking at the $data structure. The foreign key references look like this: [ContractNumber] => 2 [Location] => 1

1 Cevap

Tamam, formu girişleri böyle yapılması gerekir çıkıyor:

	echo $form->input('contract_number_id', array('type' => 'select'));
	echo $form->input('location_id', array('type' => 'select'));