CakePHP - aşağı bir düşüş göstererek, bir ilişki tablo modelleri İlgili?

3 Cevap php

Aşağıdaki tablo yapıları göz önüne alındığında:

Kayıtlı Katılımcı modeli:

<?php
class RegisteredParticipant extends AppModel {
var $name = "RegisteredParticipant";
var $primaryKey = "id";
var $belongsTo = array(
  'EventLocation' => array('className' => 'EventLocation'),
  'RegistrationStatus' => array('className' => 'RegistrationStatus'),
  'Specialty' => array('className' => 'Specialty')
);
var $hasMany = array(
  'DietaryRestriction' => array('className' => 'DietaryRestriction')
);
}
?>

Olay Yeri modeli:

<?php
class EventLocation extends AppModel {
   var $name = 'EventLocation';
   var $primaryKey = 'id';
   var $belongsTo = array(
      'Event' => array('className' => 'Event', 'foreignKey' => 'event_id'),
      'Location' => array('className' => 'Location', 'foreignKey' => 'location_id')
   );
}
?>

When I do this in my view: echo $form->input('RegisteredParticipant.EventLocation.moderator');

Beklediğimden EventLocation.moderators gibi EventLocation.id s, değil bir açılan liste döndürür. Herhangi bir fikir ne olabilir?

3 Cevap

kimse böyle modele $displayField ekleyerek bahsetti.

class EventLocation extends AppModel {
    var $name = 'EventLocation';
    var $displayField = 'moderators';
    var $primaryKey = 'id';
    var $belongsTo = array(
        'Event' => array('className' => 'Event', 'foreignKey' => 'event_id'),
        'Location' => array('className' => 'Location', 'foreignKey' => 'location_id')
    );
}

Yaa. Bu param olduğu gibi $this->RegisteredParticipant->EventLocation->find() 'hepsi' kullanarak değildi.

Sen dropdowns için find ('liste') kullanabilirsiniz. Örn:

$locations = $this->RegisteredParticipant->EventLocation->find('list', array(
    'fields' => array('some_fields')
));
$this->set('locations', $locations);

Sen gibi bir dizi geri alırsınız:

array(
    'id_1' => 'some_field_contents',
    'id_2' => 'some_field_contents',
    'id_3' => 'some_field_contents'
);

Form yardımcısı tarafından otomatik görünümü ele alınabilir hangi.