目前我正在开发一个将列出各种业务的CakePHP。
在数据库中,有一个企业表,列出如下:
id |名字|地址|城市|州| state_id | zip |网址
州列是州的缩写(用于列表目的)CA,AK,FL等,state_id与州表中的ID匹配:
id |名字| state_abbr
我有一个admin_add.ctp模板,其中包含用于插入新业务的表单助手 为了进入一个企业的州,我将有一个下拉列出所有州。但是,如何设置数据库,以便在提交表单以添加业务时知道如何添加状态缩写和状态ID?
答案 0 :(得分:0)
仅在state_id
表中保存businesses
,您可以随时从states
表中恢复state_abbr。 (因此,请从state
删除businesses
字段。
即使为了避免每次加入,你总是可以阅读states
表一次,并有一个映射state_id =>数组(“name”=> something,“state_abbr”=> xy)到如果您在同一会话中需要很多次,则可以更快地检索该信息
答案 1 :(得分:0)
我明白了。
在我的业务控制器中,我有var $uses = array('business', 'state')
,然后在添加功能中,我可以将所有状态数据传递到添加业务页面的视图。
然后在添加业务的视图中,我设置了一个将state_id
链接到州名的关联数组。然后我可以通过$form->input('state_id', array('options' => $stateArray))
传递它。