Relacionamento Cakephp Hasmany com várias colunas
-
26-09-2019 - |
Pergunta
Estou usando a estrutura do CakePHP para criar um aplicativo da Web. A forma mais simples do meu problema é a seguinte:
Eu tenho uma tabela de usuários e uma tabela de mensagens com modelos correspondentes. As mensagens são enviadas de um usuário para outro usuário. Portanto, a tabela de mensagens possui colunas de_id e para_id, ambas referenciando o ID dos usuários. Sou capaz de vincular o modelo de mensagem ao modelo de usuário usando $ pertencente, mas não consigo vincular o modelo de usuário ao modelo de mensagem (na direção inversa) usando $ hasmany da mesma maneira.
var $hasMany = array(
'From' => array(
'className' => 'Message',
'foreignKey' => 'from_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'To' => array(
'className' => 'Message',
'foreignKey' => 'to_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
O que pode fazer aqui? Alguma ideia? Obrigado por qualquer ajuda.
Solução
Você pode vincular os dois modelos a 'Hasmany' ou 'pertencer' mais de uma vez com diferentes chaves estrangeiras ao mesmo tempo. Como não encontro nenhum exemplo do livro de receitas que testei isso com um pequeno pedaço de código e funcionou como esperado .