CakePHP Form Helper Взаимодействие с базой данных - PullRequest
0 голосов
/ 21 апреля 2010

В настоящее время я разрабатываю CakePHP, в котором будут перечислены различные компании.

В базе данных есть таблица для предприятий, которая перечисляет их так:

id | имя | адрес | город | состояние | state_id | почтовый индекс | URL

Столбец состояний - это аббревиатуры состояний (для целей перечисления) CA, AK, FL и т. Д., А state_id соответствует идентификаторам в таблице состояний:

id | имя | state_abbr

У меня есть шаблон admin_add.ctp с помощниками форм для вставки новых предприятий.
Для входа в штат для бизнеса у меня будет выпадающий список, в котором перечислены все штаты. Однако, как мне сделать вставку базы данных, чтобы она знала, как добавить аббревиатуру состояния и идентификатор состояния, когда я отправляю форму для добавления бизнеса?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2010

Я понял это.
В моем бизнес-контроллере у меня есть var $uses = array('business', 'state'), а затем в функции добавления я могу передать все данные о состоянии в представление страницы Добавить бизнес. Затем в представлении «Добавить бизнес» я установил ассоциативный массив, связывающий state_id с названием состояния. Тогда я могу передать это через $form->input('state_id', array('options' => $stateArray)).

0 голосов
/ 21 апреля 2010

Сохраняя только state_id в своей таблице businesses, вы всегда можете восстановить state_abbr в любое время из таблицы states. (Поэтому удалите поле state из businesses).

Равномерно, чтобы избежать присоединения каждый раз, вы всегда можете прочитать таблицу states один раз и иметь сопоставление state_id => array ("name" => что-то, "state_abbr" => xy), чтобы быстрее получать эту информацию вам нужно много раз в одном сеансе

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