tengo el modelo User, el modelo Ticket y el modelo TicketResponse relacionados por id de la siguiente forma
User
id
...
----------------
Ticket
id
from_user_id -> id.User
to_user_id -> id.User
subject
-----------------
TicketResponses
id
ticket_id -> id.Ticket
from_user_id -> id.User
body
Las relaciones serian:
- Un usuario puede crear varios tickets
- Un ticket pertenece solo a UN usuario
- Un ticket puede tener NINGUNA/VARIAS respuestas y NINGUNO/UNO usuarios
Resumiendo: yo mando un ticket a un usuario y me lo puede responder o no.
Como llevo eso a hasMany, belongsTo, etc?
Esto fue lo q hice, no se si esta bien planteado y usado:
Ticket.php
Código PHP:
class Ticket extends AppModel{
//un ticket pertenece solo a UN usuario
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'id'
)
);
//un ticket puede tener ninguna/varias respuestas
public $hasMany = array(
'TicketResponse' => array(
'className' => 'TicketResponse',
'foreignKey' => 'ticket_id'
)
);
}
Código PHP:
class TicketResponse extends AppModel{
//una respuesta pertenece a UN SOLO ticket y a UN solo usuario
public $belongsTo = array(
'Ticket' => array(
'className' => 'Ticket',
'foreignKey' => 'id'
),
'User' => array(
'className' => 'User',
'foreignKey' => 'id'
)
);
}