Ho riscontrato questo problema con le relazioni con Codeigniter DataMapper. Ho un modello Interview
con uno author_id
e uno interviewee_id
. Entrambi si riferiscono all'ID utente nel modello utente.CodeIgniter/Datamapper: Due relazioni uno-a-molti alla stessa tabella non funzionanti
Ho provato diversi approcci e nessuno lavoro; questo è quello che ho in questo momento:
class Interview extends DataMapper
{
var $has_one = array(
'interviewee' => array(
'class' => 'user',
'other_field' => 'done_interview'),
'author' => array(
'class' => 'user',
'other_field' => 'written_interview')
);
}
class User extends DataMapper
{
var $has_many = array(
'done_interview' => array(
'class' => 'interview',
'other_field' => 'interviewee'),
'written_interview' => array(
'class' => 'interview',
'other_field' => 'author')
);
}
Come faccio lascio DataMapper sapere che un rapporto passerà attraverso author_id
, e l'altra attraverso interviewee_id
?
Sembra che ci debba essere necessariamente un campo 'user_id' e quindi per le altre relazioni posso nominare i campi come voglio. Quindi il cambio di 'interview_intervalidato 'a' user_id' sembra fare il trapano. Nel caso in cui qualcuno abbia lo stesso problema là fuori. – Nelo
Non esitate a postare una risposta alla vostra stessa domanda per aiutare gli altri, se ciò risolvesse il problema: [rispondi]. Puoi [accettare] (http://meta.stackexchange.com/a/5235/159834) dopo un giorno o due se non ci sono risposte migliori. –
Bumping, sperando che @Nelo crei e accetti una risposta per rimuoverlo dalle query "senza risposta". – swatkins