【问题标题】:Yii2 adding parameters to the model with a functionYii2 用函数给模型添加参数
【发布时间】:2018-03-28 13:44:23
【问题描述】:

我有两种类型的数据。文章和文章类型。它们存储在 postgres 数据库中。每个文章实例都应该有特定的类型。所有文章都有共同的属性,如“name”、“create_date”等,这些属性在每篇文章和特定于特定类型的字段中,如 type1 和“images”的“some_image”、“ingredients”等type2 的“点”。

特定类型的附加属性存储在 db 表的单个 json 列中。

当打开 url “some_path/articles/create/2” 时,会显示一个用于创建类型 2 文章的表单

我有一个 Articles ActiveRecord 模型和 ArticlesController。

我的问题是在模型中我只有公共属性。并且附加的属性总是不同的。

我需要模型或控制器中的方法,我可以使用它添加具有适当规则的附加属性和所有(如模型中的公共属性),然后在视图中我可以无差异地渲染所有字段。

有没有办法做到这一点以及如何做到这一点?

我阅读了如何使用 Javascript 来完成此操作,但我希望它在页面呈现之前是 dobe,而不是在那之后

【问题讨论】:

    标签: forms activerecord model yii2


    【解决方案1】:

    也许这会有所帮助。

    在你的模型中使用场景

    模型类具有可以继承的场景功能。

    User Register Scenario - Required - username, password, email
    User Login Scenario - Required - username, email
    
    
       public function scenarios() {
        $scenarios = parent::scenarios();
        $scenarios['login'] = ['name','password'];//Scenario Values Only Accepted
        return $scenarios;
       }
    

    你可以把它当作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多