Hello,
I’m experiencing a situation that is odd with gii, models & relations.
Here is the test table which has one foreign key.
CREATE TABLE `tbl_utilisateur_cours` (
`utilisateurPOID` int(11) NOT NULL,
`coursPOID` int(11) NOT NULL,
`statutPOID` int(11) NOT NULL,
`terminerLe` datetime DEFAULT NULL,
`updateUser` int(11) DEFAULT NULL,
`updateTimestamp` datetime DEFAULT NULL,
PRIMARY KEY (`utilisateurPOID`,`coursPOID`),
KEY `fk_utilisateur` (`utilisateurPOID`),
CONSTRAINT `fk_utilisateur` FOREIGN KEY (`utilisateurPOID`) REFERENCES `tbl_utilisateur` (`utilisateurPOID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
When I generate the model all is well:
class UtilisateurCours extends CActiveRecord
{
...
/**
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'utilisateurPO' => array(self::BELONGS_TO, 'Utilisateur', 'utilisateurPOID'),
);
}
...
}
When I add a second foreign key:
CREATE TABLE `tbl_utilisateur_cours` (
`utilisateurPOID` int(11) NOT NULL,
`coursPOID` int(11) NOT NULL,
`statutPOID` int(11) NOT NULL,
`terminerLe` datetime DEFAULT NULL,
`updateUser` int(11) DEFAULT NULL,
`updateTimestamp` datetime DEFAULT NULL,
PRIMARY KEY (`utilisateurPOID`,`coursPOID`),
KEY `fk_utilisateur` (`utilisateurPOID`),
KEY `fk_cours` (`coursPOID`),
CONSTRAINT `fk_cours` FOREIGN KEY (`coursPOID`) REFERENCES `tbl_cours` (`coursPOID`) ON
DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_utilisateur` FOREIGN KEY (`utilisateurPOID`) REFERENCES
`tbl_utilisateur` (`utilisateurPOID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
The model is not picking up any foreign keys.
class UtilisateurCours extends CActiveRecord
{
...
/**
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
);
}
...
}
Any insight would be greatly appreciated.