Hi grigri! Thank you for your very informative answer! The article at IfisGeek is very interesting too.
I'll go this way, with a little experimenting (and learning)... then I would like to write a behaviour, shouldn't be to difficult. For now I implemented just the "beforeFind" and "beforeSave" callback. I'm wondering if is really (and strictly) required to filter aot the fields not used in one of the models... I mean, in the worst case they are returned empty, and what to show in the view is your chioice... or am I missing something? Stefano On 11 Lug, 14:48, grigri <[EMAIL PROTECTED]> wrote: > > I have models Person and Company that share a large amount of fields > > so I'm thinking to use a single/shared table (named Contacts) to store > > the information and set both models to $useTable='contacts'. > > Obvioulsy in Contacts table I have a field type that can be 'person' > > or 'company' that I need to check on find actions and to set on save > > ones. > > This is called "Single Table Inheritence" and as far as I know, there > is no built-in support planned for it in CakePHP. > > There's an interesting article here > :http://www.ifisgeek.com/tutorials/implementing_single_table_inheritan... > > > What i'm planning to do is to set beforeFind() to add the > > type='person' condition and beforeSave() to set the type field to > > 'person' (and the 'company' one for the model Company, obviously). > > That's exactly what I did in a project a while ago, and it worked. But > it never seemed the "cleanest" solution. (Code extract here > :http://pastebin.com/m2b094512) > > > Or maybe I can build a behaviour (even if I never wrote one...)? > > > Before going this way I would like to know what do you think about > > this "design": if would be better to have the two distinct tables and > > moreover if there is already built in Cake a way to "bind" a Model to > > its own table with some conditions... > > I'd also like to hear some views on this, as it's a frequently > recurring subject. There is no way to directly bind a model to a table > with constraints, but with a behavior it would be possible, with an > implementation like: > > class Person extends AppModel { > var $name = "Person"; > var $actsAs = array('Is'); // Load 'Is' behavior > > var $is = array( > 'tableName' => 'entities', > 'conditions' => "Person.type='person'" > ); > > var $belongsTo = (...) > > } > > or something along those lines. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
