CakePHP表单助手数据库交互

时间:2010-04-21 07:38:08

标签: mysql forms cakephp

目前我正在开发一个将列出各种业务的CakePHP。

在数据库中,有一个企业表,列出如下:

  

id |名字|地址|城市|州| state_id | zip |网址

州列是州的缩写(用于列表目的)CA,AK,FL等,state_id与州表中的ID匹配:

  

id |名字| state_abbr

我有一个admin_add.ctp模板,其中包含用于插入新业务的表单助手 为了进入一个企业的州,我将有一个下拉列出所有州。但是,如何设置数据库,以便在提交表单以添加业务时知道如何添加状态缩写和状态ID?

2 个答案:

答案 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))传递它。