2010-06-05 55 views
0

我需要一些关于基于Yii的应用程序的用户设置机制的帮助。Yii的用户设置机制

我创建了以下数据库结构来存储用户设置:

  1. user具有以下字段

    ID |用户名|电子邮件|等

  2. settingslist(存储与描述的所有可能设置的列表)具有以下字段

    ID |代码|名称|说明

  3. settings(存储所有用户设置)具有以下字段

    ID |用户ID | settingslistcode |值

现在我坚持允许用户更改其设置的窗体。我必须先处理常规模型(即帖子,评论等),其中每个新模型在数据库中只有一行(Post model - id | title | body |)和一定数量的属性(表格字段)。但现在我需要将用户设置存储在10-15行中,并且我不知道如何将Yii模型机制应用于此工作,因此我可以以单一形式检索这些设置(以便用户可以更改他的偏好)。

任何建议,非常感谢。

谢谢!

回答

1

不确定您的表单的标准是什么,但您可以通过以下方式为特定用户提取所有设置。

$criteria=new CDbCriteria; 
$criteria->condition="id=".$user->id; 
$settings=Settings::model()->findAll($criteria); 

然后循环遍历每个构建您的窗体。

foreach($settings as $setting){ 
    $criteria->condition="code=".$settings->settingslistcode; 
    $settingElement = SettingsList::model()->find($criteria); 
    ... 
}
0

嗯,我不确定您是否在您的网站或每篇帖子/评论中存储了他的个人资料的用户设置。

设置列表没问题,我们需要定义所有可能的设置选项。然后,如果您为用户存储网站设置,请尝试在tbl用户中使用ColumnSettings列。我通常使用序列化($ setting_array())。

如果您存储每个帖子的用户设置,请创建一个user_post_settings表和用户相同的serialize()想法。所以,一个用户 - 一个职位=>一行。