你能不能看一下实体之间的关系,遗憾的是一直没有正常工作。我将非常感谢你的帮助。这是1比1的关系。
用户实体
#include "types.h"
void printf(char* str)
{
static uint16_t* VideoMemory = (uint16_t*)0xb8000;
for(int i = 0; str[i] != '\0'; ++i)
VideoMemory[i] = (VideoMemory[i] & 0xFF00) | str[i];
}
typedef void (*constructor)();
extern "C" constructor start_ctors;
extern "C" constructor end_ctors;
extern "C" void callConstructors()
{
for(constructor* i = &start_ctors; i != &end_ctors; i++)
(*i)();
}
extern "C" void kernelMain(const void* multiboot_structure, uint32_t /*multiboot_magic*/)
{
printf("Welcome To My Operating System");
while(1);
}
结构实体
/**
*
* @ORM\Column(type="string")
*
* @ORM\OneToOne(targetEntity="Structure", mappedBy="user")
*/
protected $structure;
答案 0 :(得分:2)
试试这个...
/**
* @ORM\OneToOne(targetEntity="User",
* inversedBy="structure")
*/
private $user;
/**
*@ORM\OneToOne(targetEntity="Structure",mappedBy="user",cascade={"persist","remove"})
*/
private $structure;
答案 1 :(得分:1)
正如@Albeis在评论中所建议的那样:
尝试删除双方的
.as-console-wrapper { max-height: 100% !important; top: 0; }
......关系本身并非如此 有列..请注意检查 http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#one-to-one-bidirectional
这解决了我的问题。问题是要删除双方的@ORM \ Column。谢谢你的帮助。
答案 2 :(得分:0)
您无法将mappedBy
与@OneToOne一起使用。你应该在两边使用inversedBy
。
答案 3 :(得分:0)
/**
* @ORM\OneToOne(targetEntity="Core\UserBundle\Entity\Profile", mappedBy="user")
*/
private $profile;
/**
* @ORM\OneToOne(targetEntity="Core\UserBundle\Entity\User", inversedBy="profile")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id",onDelete="CASCADE")
*/
private $user;
用户资料实体内的user_id。
如果设置onDelete =“CASCADE”,如果删除用户,mysql将自动删除配置文件。