I really wish I could think of a better subject line.
I want to find all Members who are NOT registered for a particular
Event. I'm sure this should be dead simple but it's eluding me.
I created a "join" model, so I can select directly on the HABTM table.
class Event extends AppModel
{
public $belongsTo = array('Country');
public $hasMany = array('EventMember');
public $hasAndBelongsTo = array('Member');
}
class Member extends AppModel
{
public $hasAndBelongsTo = array('Event');
public $hasMany = array('EventMember');
}
class EventMember extends AppModel
{
public $name = 'EventMember';
public $useTable = 'events_members';
public $belongsTo = array('Event', 'Member');
}
My failed attempts in EventsController:
$this->set(
'unregistered_members',
$this->Event->EventMember->Member->find(
'all',
array(
'fields' => array(
'Member.id',
'Member.first_name',
'Member.last_name'
),
'order' => array('Member.last_name' => 'ASC'),
'contain' => array(
'EventMember' => array(
'conditions' => array(
'EventMember.event_id' => $id,
'Member.id != EventMember.member_id'
)
)
)
)
)
);
$this->set(
'unregistered_members',
$this->Event->EventMember->Member->find(
'all',
array(
'conditions' => array('Member.id != EventMember.member_id'),
'fields' => array(
'Member.id',
'Member.first_name',
'Member.last_name'
),
'order' => array('Member.last_name' => 'ASC'),
'contain' => array(
'EventMember' => array(
'conditions' => array(
'EventMember.event_id' => $id
)
)
)
)
)
);
Can anyone suggest something?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" 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
-~----------~----~----~----~------~----~------~--~---