Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Does not work with relations defined in the metadata of the Active Record #36

Open
cebe opened this Issue · 0 comments

1 participant

Carsten Brandt
Carsten Brandt
Owner

Taken from this comment:
http://www.yiiframework.com/extension/activerecord-relation-behavior/#c12592

Before I start, let me express that I am grateful this extension was done in the first place. It is something needed and I hope it is added to the core as it will accelerate the development proccess. That being said..

I have a behavior that is called categorizable. Basically I add the behavior to any model that I want to be able to receive categories. In the behavior, I add the relationship with categories through the metaData of the Active Record.

This extension takes the relations from the Active Record from the relations() method which is an array containing a configuration. However, this configuration does not refresh when the metadata of relations is updated.

Therefore this plugin does not work if you add a relationship via the metadata of the active record.

There are two possible solutions for this.

  • Modify (Directly or Extending) the EActiveRecordRelationBehavior so that it reads the relations from the metadata and not from the relations() method.
  • Modify the relations method so that it is updated when the metadata is updated....however this solution gives me the sense that will break other things :$ so I am going for the first one.
Carsten Brandt cebe was assigned
Pavel omnilight referenced this issue from a commit
Pavel omnilight Fix for issue #36
This fix adds ability to deal with relations defined in metadata of ActiveRecord
29be8dd
Pavel omnilight referenced this issue from a commit in omnilight/activerecord-relation-behavior
Pavel omnilight Fix for issue #36 66da864
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.