【问题标题】:It's possible extend AR relationships?有可能扩展 AR 关系吗?
【发布时间】:2011-07-05 19:43:23
【问题描述】:

我想知道是否有办法为 AR 关系创建自己的规则或扩展现有的 HAS_MANY、BELONGS_TO 等?

谢谢。

【问题讨论】:

标签: activerecord yii entity-relationship yii-validation


【解决方案1】:

每个 AR 关系都是用相应的类创建的。

    const BELONGS_TO='CBelongsToRelation';
    const HAS_ONE='CHasOneRelation';
    const HAS_MANY='CHasManyRelation';
    const MANY_MANY='CManyManyRelation';
    const STAT='CStatRelation';

这些类扩展了 CActiveRelation » CBaseActiveRelation » CComponent。

您可以使用扩展 CActiveRelation 的自定义类创建自己的 AR 关系。

【讨论】:

  • 按照您的推理,我有 2 个问题: 1 - 我可以创建自己的关系类——例如——多态吗? 2 - 我可以在哪里存储我的自定义关系类?
  • 我从来没有这样做过,但我认为你可以。查看 CActiveRelation 做什么以及关系类如何扩展它以了解您的类必须做什么。我没有找到任何关于它的文档。你可以在任何地方存储你的自定义关系类,但要确保 Yii 知道它在哪里。
猜你喜欢
  • 1970-01-01
  • 2021-12-01
  • 2015-01-25
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-18
  • 2014-09-13
相关资源
最近更新 更多