Yii - Foreign key - Access Data
I' m just getting into Yii and am finding it a little confusing (at least compared to Cake or CI). Here's a couple things I'm wondering about:
1) If I have an 'add station' form (using a Station model). In the form, there will be a drop down list of 'Companies' (from Company Model). Station belongsTo Company (Station has a foreign key of company_id).
How do I go about generating the drop down 开发者_StackOverflow社区list? Should the Php code used to pull the data be stored in the model, or should it just be a line in the form?
2) I also have the following database tables:
station
- id
- location_id
location
- id
- state_id
- city_id
state
- id
- state
city
- id
- city
For right now, in the same form as above, I wanted to have a 'Location' field, and then 2 drop downs for city and state. Whatever the user chooses, would then be stored in the location table as foreign key pairs. How would I go about doing that?
1) Look at my answer to this question for tips about the downdown (the key is CHtml::listData):
Does CDbcommand method queryAll() in yii return indexed entries only?
2) Is location
just a relation table between state
and city
? Then just do a MANY_MANY relation() in your City and State models. The AdvancedAR extension makes life a little easier for managing MANY_MANY releationships.
Otherwise, just set up a Model for each of your tables, and add the appropriate relations() between them. Then in your form post action, create a new Location and set the state_id
and city_id
, and save() it.
精彩评论