я установил sfGuardPlugin и создал эту модель:связь один к одному в sf1.4/продвинет
propel:
sf_guard_user_profile:
_attributes: { phpName: sfGuardUserProfile }
id: ~
user_id: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade }
name: varchar(50)
Как написано здесь, http://www.propelorm.org/wiki/Documentation/1.4/Relationships (см «один к одному» отношения), это предполагается, Symfony создает функцию sfGuardUser->getSfGuardUserProfile()
и sfGuardUserProfile->getSfGuardUser()
, но у меня есть этот код:
// this works
$c1 = new Criteria();
$elements = sfGuardUserProfilePeer::doSelect($c1);
var_dump($elements[0]->getSfGuardUser());
// this doesn't work
$c2 = new Criteria();
$elements = sfGuardUserPeer::doSelect($c2);
var_dump($elements[0]->getSfGuardUserProfile());
и он не работает. Он говорит:
Призыв к неопределенному методу BasesfGuardUser :: getSfGuardUserProfile
SF 1,4/1,4 продвинет
Хавьер
с этой страницы: «отношения один-к-одному, определяется, когда первичный ключ также внешний ключ »- я что-то упускаю, или ваш внешний ключ не является первичным ключом? –