How To Add Dynamic Attributes To Model And Get Them In Findall() Database Query


I want to add dynamic attributes to a model. Say my table has 3 fields(id,groupname,ownerId).I have added one more property to the model named isOwner.This property is not in th model table.

After i fetch all records related to the user(say userID =1), i have to attach one more property isOwner.This property should be 1 if the user is the owner of group and 0 if he is not.

I declared a public property, public $isOwner to my model class. I created a function to find if user is owner.Now i want isOwner property to be 1 for every record i fetch using findAll() function. I used the afterFind() function also but its not working.?

Any ideas?

This is in continuation to the topic

Thanks to all

Any ideas guys?

I’m not sure, but maybe a stat relation in the model?

Thanks Ragua,

What does that mean?


Hi Friends, Finally i found out. It is the problem with the CJSON::encode problem. this method only encodes the properties of the model. It doesn’t encode any relational or dynamic property. SO i wrote my own function and it works.!

Thanks to all


Glad you solve your problem. For free, a stat relation allow you to have a calculated field non-database (agregated) in your model. You can look at: