заполнить каскадный выпадающий список из нескольких баз данных в cakeStack Overflow

У меня есть 2 базы данных, скажем, DB A и DB B, вот резюме:
БД А имеет:

 - tbl_a
- tbl_b
- tbl_c
- tbl_d

БД Б имеет:

 - tbl_x
- tbl_y

tbl_d имеет:

tbl_a.id, tbl_b.id, tbl_c.id, tbl_x.id, tbl_y.name

Я хочу добавить данные в tbl_d с помощью раскрывающегося списка каскад
У меня уже есть успех в создании выпадающего списка, чтобы получить список tbl_a.id, tbl_b.id, tbl_c.id с tbl_a.id как родитель, но все еще не может получить данные для tbl_x.id а также tbl_y.name,

Я получаю сложности при попытке получить список tbl_x.id, потому что:

  1. база данных была другой, но все еще на 1 сервере и с тем же именем пользователя и паролем
  2. tbl_x имеет отношение только к tbl_a, tbl_x.description = tbl_a.name

вот моя функция добавления в контроллере:

    public function add() {
if ($this->request->is('post')) {
$this->D->create();Controller::loadModel('C');
$data = $this->C->find('first', array(
'conditions' => array(
'C.id' => $this->request->data['D']['c_id']
)
));
$this->request->data['D']['c_name'] = $data['C']['name'];$this->loadModel('X','Y');
$x = $this->X->find('list',array(
'conditions' => array(
'X.x_number' => $this->request->data['D']['x_no']
)
));
$this->set('X',$x);
$y = $this->Y->find('list', array(
'conditions' => array(
'Y.code' => $this->request->data['D']['y_code']
)
));
$this->set('Y',$y);

if ($this->D->save($this->request->data)) {
$this->Session->setFlash(__('The data has been saved.'), 'success');
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The data could not be saved. Please, try again.'));
}
}
$a = $this->D->A->find('list');

$types = array(
'prepaid' => 'Prepaid',
'postpaid' => 'Postpaid',
'hybrid' => 'Hybrid'
);
$this->set(compact('a', 'types'));
}

вот некоторые из моих взглядов

<?php echo $this->Form->create('D'); ?>
<?php
echo $this->Form->input('a_id', array('empty' => '-- Select  --', 'default' => '-- Select  --'));
echo $this->Form->input('b_id', array('empty' => '-- Select  --'));
echo $this->Form->input('c_id', array('empty' => '-- Select  --'));
echo $this->Form->input('x_no', array('options' => $x,
'class' => 'span5'));
echo $this->Form->input('y');
echo $this->Form->input('type');
?>
<?php echo $this->Form->end(__('Submit')); ?>

Кто-нибудь может дать мне представление, как мне это сделать?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …