Php 不同的外键和学说中的多通
我只是一个使用教义的初学者 我有两张桌子、一本书和两个章节Php 不同的外键和学说中的多通,php,codeigniter,doctrine,Php,Codeigniter,Doctrine,我只是一个使用教义的初学者 我有两张桌子、一本书和两个章节 BOOK[ BID, NAME ] CHAPTER[ CID, BID, ChapName ] 章节类别: /** * @Id * @Column(type="bigint", nullable=false) * @GeneratedValue(strategy="AUTO") */ private $cid; /** * @ManyToOne(targetEntity="Book", inversedBy="Chapter
BOOK[ BID, NAME ]
CHAPTER[ CID, BID, ChapName ]
章节类别:
/**
* @Id
* @Column(type="bigint", nullable=false)
* @GeneratedValue(strategy="AUTO")
*/
private $cid;
/**
* @ManyToOne(targetEntity="Book", inversedBy="Chapters")
* @var Book
*/
private $Book;
图书类别:
/**
* @Id
* @Column(type="bigint", nullable=false)
* @GeneratedValue(strategy="AUTO")
*/
private $bid;
/**
* @OneToMany(targetEntity="Chapter", mappedBy="Book", cascade={"persist", "remove", "merge"}, orphanRemoval=true))
* @var Chapter[]
*/
private $Chapters;
我不确定它是否正确,但当我试图查询章节以获取章节id 1时。这就是错误:
Unknown column 't0.Book_id' in 'field list''
但是如果我尝试调用“$book->getChapters()->first()->getChapName()”。我得到了那份工作。错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: id
Filename: Persisters/BasicEntityPersister.php
Line Number: 1193
有什么问题,因为我很困惑
谢谢您必须使用$Book上的@join列。 这是必需的,因为您不使用默认列名 代码: 以下是关于使用条令映射的完整文档:
/**
* @ManyToOne(targetEntity="Book", inversedBy="Chapters")
* @JoinColumn(name="BID", referencedColumnName="cid")
* @var Book
*/
private $Book;