我有一个用户。一些用户使用消息传递系统。那些用户(但不是全部)都有messageUserSettings。我想在这些实体之间创建一个“OneToOne”关系。
这就是我所拥有的(编辑下来):
MessageUserSettings.php
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* MessageUserSettings
* @ORM\Entity
* @ORM\Table(name="message_user_settings")
*/
class MessageUserSettings {
/**
* @var User
*
* @ORM\OneToOne(targetEntity="User", inversedBy="messageSettings")
*/
protected $user;
/**
* Get user
* @return User
*/
public function getUser()
{
return $this->user;
}
}
user.php的
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* Users
*
* @ORM\Entity
* @ORM\Table(
* name="users",
* uniqueConstraints={
* @ORM\UniqueConstraint(name="users_username_unique", columns={"username"}),
* @ORM\UniqueConstraint(name="users_email_unique", columns={"email"})
* }
* )
*/
class User {
/**
* @ORM\OneToOne(targetEntity="MessageUserSettings", mappedBy="user")
**/
protected $messageSettings;
/**
* @return MessageUserSettings
*/
public function getMessageSettings()
{
return $this->messageSettings;
}
}
我可以按预期看到表中的外键和字段。
TABLE_NAME COLUMN_NAME CONSTRAINT_NAME REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
message_user_settings user_id FK_4C6502BDA76ED395 users id
我可以从MessageUserSettings
转到User
但不是相反。我错过了什么?
答案 0 :(得分:0)
对于一对一,双向:
function fullpage_template( $original_template ) {
if ( get_post_meta( get_the_ID(), 'fullpage_js', true ) ) {
return dirname(__FILE__) . '/templates/fullpage.php';
} else {
return $original_template;
}
}