Forms Yii的用户设置机制

Forms Yii的用户设置机制,forms,model,settings,yii,Forms,Model,Settings,Yii,我需要一些关于基于Yii的应用程序的用户设置机制的帮助 我创建了以下数据库结构来存储用户设置: 表user中包含以下字段 id |用户名|电子邮件|等 表settingslist(用于存储所有可能设置的列表和说明)以及以下字段 id |代码|名称|描述 带有以下字段的表设置(用于存储所有用户设置) id |用户id |设置列表代码|值 现在,我被允许用户更改其设置的表单所困扰。我以前必须处理常规模型(即帖子、评论等),其中每个新模型在数据库中只有一行(Post model-id | title

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

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

  • user
    中包含以下字段

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

  • settingslist
    (用于存储所有可能设置的列表和说明)以及以下字段

    id |代码|名称|描述

  • 带有以下字段的表
    设置
    (用于存储所有用户设置)

    id |用户id |设置列表代码|值

  • 现在,我被允许用户更改其设置的表单所困扰。我以前必须处理常规模型(即帖子、评论等),其中每个新模型在数据库中只有一行(Post model-
    id | title | body |
    )具有一定数量的属性(表的字段)。但现在我需要将用户设置存储在10-15行中,我不知道如何应用Yii模型机制来处理这个问题,所以我可以在单个表单中检索这些设置(以便用户可以更改其首选项)

    如有任何建议,我们将不胜感激


    谢谢大家!

    不确定表单的条件是什么,但您可以使用以下命令获取特定用户的所有设置

    $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);
        ...
    }

    好吧,我不确定你是否在你的网站或每个帖子/评论中存储他的个人资料的用户设置

    设置列表正常,我们需要定义所有可能的设置选项。然后,如果为用户存储站点设置,请尝试在tbl users中使用列ProfileSettings。我通常使用serialize($setting\u array())

    如果存储每篇文章的用户设置,请创建一个用户设置表,并使用相同的serialize()方法。因此,一个用户一个帖子=>一行