cakephp, как сохранить данные в двух таблицах?

#php #cakephp-1.3

#php #cakephp-1.3

Вопрос:

у меня есть простая форма с двумя полями ввода, и я хотел бы сохранить данные из одного поля внутри одной таблицы, а из другого — во второй таблице.

для сохранения данных я использую $this->Room->save($this->data)

есть идеи, как это можно сделать?

Спасибо

Редактировать:

один из них — это rooms другой roomates общий ключ, который я хочу использовать, это is id_rooms и id_roomates

Комментарии:

1. Какие две таблицы и модели? Также будет лучше, если вы напечатаете массив, который вы получите в $this->data.

2. Значит, вам также нужно сохранить $this->data в таблице roomates ? Правильно ли это сохраняется в таблице rooms?

3. ну, я хочу, чтобы некоторые данные хранились в таблице room, а некоторые — в таблице roomates. я знаю, что могу получить данные из формы с помощью $this->data , но мне было интересно, может быть, я могу передать, какие данные я хочу сохранить. тогда я могу сказать что-то вроде $this->Roomtitles->save($this->data(array(some fields))) и $this->Room->save($this->data(array(some fields)))

4. Я предлагаю вам построить структуру вашего this-> data так, как вы хотите, чем сохранить ее

5. я уже создаю его, я просто хочу сохранить данные в нескольких таблицах

Ответ №1:

Для Room построения массива, как показано ниже. Это всего лишь пример, установите его в соответствии с вашими фактическими полями.

 $this->data['Room']['id_rooms'] = $this->data['Room']['id']
$this->data['Room']['abc'] = $this->data['Room']['xyz']
  

Затем сохраните данные в таблице room: $this->Room->save($this->data) .

Затем создайте массив для второй таблицы, скажем Roomtitle , как показано ниже:

 $this->data['Roomtitle']['id_rooms'] = $this->data['Room']['id']
$this->data['Roomtitle']['abc'] = $this->data['Room']['xyz']
  

и сохраните его: $this->Roomtitle->save($this->data) .