So, there is no public callback wedged between the query on "this"
model and the queries for the associated models? Too bad.

I guess I will have to drop the idea of using associations and instead
load the data in afterFind() or possible even in the controller.

Some more details:
I am developing with the intent of running the application on a
dedicated server (or number thereof) with php5 and mysql5 (pretty
standard LAMP setup).

What I am doing is creating a filter (well... trying to anyway) that
will filter a table of people (contacts) based on data stored in the
contacts table. It would make life easy for views and controllers if I
could just call for a filter called "people with big feet" and loading
this filter also loads relevant contacts (WHERE Contact.shoe_size > 43
or something). Filter-rules can be edited until you get the ultimate
selection of people... this will naturally be used for marketing and
not cancer-research or anything noble like that.

Building this dynamic "relationship" without hasMany is not big
problem. It would just be super-über-cool to do it that way. That is
why I am spending precious time trying to bend Cake to my will :)

If you, or anyone else, has any further tips please feel free...
If not, thanks to grigri for your info so far. it was helpful.


On Jan 15, 11:06 am, grigri <[EMAIL PROTECTED]> wrote:
> Yeah, the foreignKey => false bit is quite recent.
>
> For some reason support for beforeFind on associated models is not
> being planned, as far as I know.
>
> This is a really big issue for code like the TranslationBehavior which
> can't translate its associated models (do a search on this group and
> you'll see).
>
> a quote from gwoo:
>
> > we have discussed this internally, and have determined that for now
> > running beforeFind on associations will cause problems with overhead and 
> > conflicts.
> > Most certainly this is not a bug. It is a known limitation of the 
> > beforeFind callback.
>
> and from nate:
>
> > The overhead required for enabling this would not be worth it's limited 
> > usefulness. Create a behavior.
>
> Personally I'd like to see this issue resolved, but I understand that
> it could be tricky to code efficiently and there are more important
> things to do to the cake core.
>
> I must say though, your requirements do look quite difficult.
> Obviously it depends enormously on the amount of rules and associated
> data you will have stored (hundreds? thousands? millions?). The naive
> implementation (post-process record by record using afterFind) would
> generate a lot of SQL calls and would slow your application down quite
> a bit, although judicious use of caching could improve this.
>
> I'm sure it's possible to come up with a better idea though, can you
> give some more detailed information on your table structure? And what
> database system + version you're using, in case we need anything
> specific.
>
> On Jan 15, 9:35 am, "[EMAIL PROTECTED]"
>
> <[EMAIL PROTECTED]> wrote:
> > The reason I was using finderQuery for these early tests was that
> > 'foreignKey'=>false gave me errors. Could be Cake 1.2 beta problem
> > with that one possibly.
>
> > My biggest problem though is finding a callback to do the setting of
> > the conditions/finderQuery.
> > Rule::beforeFind() - I don't have the data from the rules table.
> > Rule::afterFind() - I have the data but I also already have the
> > associated data.
>
> > The sequence I a getting from debug calls is:
> > Rule::beforeFind
> > Contact::afterFind
> > Rule::afterFind
> > (that's right. no beforeFind from the associated model even using
> > normal hasMany without finderQuery)
>
> > On Jan 15, 10:22 am, grigri <[EMAIL PROTECTED]> wrote:
>
> > > You can use just the 'conditions' key if you set 'foreignKey' to
> > > false. Using finderQuery doesn't activate all the automagic binding
> > > and whatnot, so this is probably a better idea.
>
> > >https://trac.cakephp.org/ticket/3323https://trac.cakephp.org/changese...
>
> > > On Jan 15, 8:56 am, "[EMAIL PROTECTED]"
>
> > > <[EMAIL PROTECTED]> wrote:
> > > > And of-course when I wrote conditions I was really talking about
> > > > "finderQuery". Sorry.
>
> > > > On Jan 15, 9:32 am, "[EMAIL PROTECTED]"
>
> > > > <[EMAIL PROTECTED]> wrote:
> > > > > Hi,
> > > > > I have a question that hasn't been on the table much. It is a bit of
> > > > > an oddball scenario.
>
> > > > > Can I use dynamic data from the model's table in the "conditions" for
> > > > > an association?
>
> > > > > I have a model that stores filter-rules. e.g. "email is from
> > > > > cakephp.org" or "age is more than 40" things of this nature. These are
> > > > > representative of an appropriate where-clause that finds the
> > > > > corresponding items in another model filled with "people".
>
> > > > > It all works when I "manually" search out the people. What would be
> > > > > cool is if I could very cleanly use Cake's associations in some way.
>
> > > > > I can use the hasMany property caled "conditions" to statically put my
> > > > > filter-rule there for the whole class. But I would like to be able to
> > > > > use the table-data in the condition. Each record using it's own "rule-
> > > > > clause" Is this possible?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to