我刚刚开始接触 Yii,发现它有点令人困惑(至少与 Cake 或 CI 相比)。我想知道以下几点:
1) 如果我有一个“添加电台”表单(使用电台模型)。在表单中,将有一个“公司”下拉列表(来自公司模型)。站点属于公司(站点有一个外键company_id)。
如何生成下拉列表?用于提取数据的 Php 代码应该存储在模型中,还是应该只是表单中的一行?
2)我还有以下数据库表:
station
- id
- location_id
location
- id
- state_id
- city_id
state
- id
- state
city
- id
- city
现在,在与上面相同的表单中,我想要一个“位置”字段,然后是城市和州的 2 个下拉列表。无论用户选择什么,都将作为外键对存储在位置表中。我该如何去做呢?
最佳答案
1)看看我对这个问题的回答,了解有关downdown的提示(关键是CHtml::listData):
Does CDbcommand method queryAll() in yii return indexed entries only?
2)location
只是state
和city
之间的关系表吗?然后只需执行 MANY_MANY relation()在您的城市和州模型中。 AdvancedAR扩展使管理 MANY_MANY 关系变得更加轻松。
否则,只需为每个表设置一个模型,然后添加适当的 relations()它们之间。然后在表单发布操作中,创建一个新位置并设置 state_id
和 city_id
,然后 save() 它。
关于php - Yii - 外键 - 访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183650/