CakePHP Сохранение данных в нескольких таблицах - PullRequest
0 голосов
/ 03 ноября 2018

Я использую CakePHP 3 и у меня есть форма регистрации, в которой вы можете указать свое имя пользователя, пароль, адрес электронной почты, а также статистику некоторых участников (например, вес, рост и т. Д.)

Поскольку я хочу, чтобы пользователь постоянно обновлял свою статистику, мне было удобнее включить ее в свою таблицу с внешним ключом.

Моя задача - создать пользователя в базе данных members, получить его id, вставить остальные данные в базу данных member_stats и задать внешний ключ member_id в рамках CakePHP 3.

Так, в частности, мне нужно # 1 использовать разные модели в контроллере регистрации, и # 2 раздваивать данные из одной формы в данные member и member_stats, а также использовать id членов для заполнения в чужой ключ.

1 Ответ

0 голосов
/ 04 ноября 2018

Cakephp достаточно умен, чтобы понять отношение из HTML-формы в шаблоне.

Относительная часть:

Так что, когда у нас есть таблица User и таблица UserDetails, и они оба связаны как Пользовательские детали принадлежат Пользователю, то есть каждый Пользовательские детали принадлежат одному пользователю, и у каждого пользователя есть одна Детали.

Вставить в обе таблицы от пользователя добавить из

, если вы хотите вставить в UserDetails для вашей регистрационной формы в вашем случае Users/add.ctp

внутри echo $this->Form->create($user);

введите ваш UserDetails ввод, но имя будет другим, например, если у вас есть weight в UserDetails Вы можете написать что-то вроде echo $this->Form->control('userdetails.weight'); Обратите внимание, что userdetails - это второе имя таблицы, которое относится к пользователю.

Контроллер пользователя

в вашем действии добавления вам не нужно ничего менять

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