No, it does not take away CakePHP automagic (CakePHP is so good). Setup your associations to include the condition. class Counsellor extends AppModel {
var $name = 'Counsellor'; var $hasMany = array( 'Agency' => array( 'className' => 'Agency', 'conditions' => 'Agency.creator_class = \'Counsellor\'', 'foreignKey' => 'creator_id' ) ); } // the same goes for Coordinator class Agency extends AppModel { var $name = 'Agency'; var $belongsTo = array( 'Counsellor' => array( 'className' => 'Counsellor', 'conditions' => 'Agency.creator_class = \'Counsellor\'', 'foreignKey' => 'creator_id' ), 'Coordinator' => array( 'className' => 'Coordinator', 'conditions' => 'Agency.creator_class = \'Coordinator\'', 'foreignKey' => 'creator_id' ) ); } Anyway, it's just an idea, there should be others ways. HTH, Dardo Sordi. On Wed, Mar 5, 2008 at 5:00 AM, chefsmart <[EMAIL PROTECTED]> wrote: > > It does take away cakePHP's "automagic" right. How do I go about > implementing this in the cakePHP model and controller? > > > On Mar 4, 10:39 pm, "b logica" <[EMAIL PROTECTED]> wrote: > > True. But I meant in the database itself. Although, one can create a > > unique index on (model, foreign_key). > > > > On Tue, Mar 4, 2008 at 12:30 PM, Dardo Sordi Bogado > > > > > <[EMAIL PROTECTED]> wrote: > > > > > You can use it as foreign key and specify that the creator_class = > > > 'something' in the conditions (you can put condiftions to > > > associations). > > > > > > On Tue, Mar 4, 2008 at 3:03 PM, b logica <[EMAIL PROTECTED]> wrote: > > > > > > That's what I'm doing for a couple of my tables. I have a foreign_key > > > > field and a model field. It does mean that one cannot define a proper > > > > foreign key so you'll need to write some logic to handle that > > > > association. > > > > > > > > On Tue, Mar 4, 2008 at 8:01 AM, chefsmart <[EMAIL PROTECTED]> wrote: > > > > > > > Thanks for your input. If I understand you correctly, you're > > > > > suggesting I have a creator_id column in my agencies table and > another > > > > > creator_class column to indicate the type of creator. I guess > then I > > > > > wouldn't be able to define creator_id as a foreign key. Am i > getting > > > > > this correctly? > > > > > > > On Mar 4, 4:24 pm, "Dardo Sordi Bogado" <[EMAIL PROTECTED]> wrote: > > > > > > I would go using a creator_id and creator_class, then use one > as the > > > > > > foreingKey and the other as a condition in the associations. > > > > > > > > On Tue, Mar 4, 2008 at 7:31 AM, chefsmart <[EMAIL PROTECTED]> > wrote: > > > > > > > > > Hi all, > > > > > > > > > I just started out with cakePHP and am quite impressed by > how much can > > > > > > > be achieved in a short time. > > > > > > > > > I'm stuck with a design issue and need some guidance. Please. > > > > > > > > > Let's say I have two models: 1) Counsellor 2) Coordinator. > There is a > > > > > > > third model called Agency. An Agency can only be created by a > > > > > > > Counsellor or a Coordinator. I need to store information in > the > > > > > > > database about each Agency's creator. > > > > > > > > > Now if I call my database field agencies.createdby, how > would I go > > > > > > > about tying it up with cakePHP's convention? How would I go > about > > > > > > > determining whether the creator was a Counsellor or a > Coordinator? > > > > > > > Should I have two fields (coordinator_id, and counsellor_id) > in the > > > > > > > database in place of one createdby field? > > > > > > > > > Thanks in advance. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---