CakePhp: создать форму, которая содержит информацию о нескольких моделях - PullRequest
0 голосов
/ 13 сентября 2011

Мне нужно создать форму «регистрации», эта форма должна хранить информацию в двух разных базах данных, некоторые поля находятся в локальной базе данных (логин: имя пользователя, пароль) (модель с именем «Пользователь»), некоторые ввнешняя база данных (база данных erp, которая содержит электронную почту, телефон, ...) (модель с именем «Клиент»).

Мы должны сделать это из-за существующей ERP, которую мы должны использовать (у нас естьнет способа это отредактировать, это наше ограничение).

Так что мой вопрос, как установить регистрационную форму, которая позволяет нам указывать информацию о пользователе и клиенте.

Это не такпроблема сделать вставку «customer» в «user» контроллер, я просто не знаю, как получить

$this->data

, который содержит

$this->data['User']

и

$this->data['Customer']

.

Поскольку в представлении нам необходимо указать, какая модель используется на уровне «Форма».

echo $this->Form->create('**User**',array('action'=>'register'));

Большое спасибо!

1 Ответ

2 голосов
/ 13 сентября 2011

если вы хотите иметь записи типа $ this-> data ['User'] и $ this-> data ['Customer'] в ваших $ this-> data

ваши поля формы должны быть чем-токак это

  <?=$form->input('User.email',array('label'=>false));?>
  <?=$form->input('Customer.name',array('label'=>false));?>
  <?=$form->input('User.password',array('label'=>false));?>

вы должны создать отношения между этими таблицами в модели User, вы должны добавить это

public $hasOne = array("Customer"); //User.customer_id -> Custome.id  

, и вы должны использовать $ this-> User-> saveAll ($ this-> data) для сохранения данных в обеих таблицах

извините за мой английский и надеюсь, что это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...