У меня есть две таблицы:
таблица A с id в качестве первичного ключа
таблица B с id в качестве первичного и внешнего ключа
Объяснение вкратце:
Мне нужно иметь в таблице B первичный ключ, который также должен быть внешним ключом, указывающим на первичный ключ A таблицы.
Кто-нибудь может объяснить мне, как сопоставить это с помощью аннотаций в Учении 2?
Примечание:
Я попробовал это:
class A
{
/**
* @var bigint $id
*
* @Column(name="id", type="bigint", nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $a_id;
...
и B Таблица:
class B
{
/**
* @var bigint $id
* @Id
* @OneToOne(targetEntity="A", fetch="LAZY")
* @JoinColumn(name="id", referencedColumnName="id")
*/
private $b_id;
...
Но это дает мне эту ошибку:
Неисследованное исключение
'Учение \ ORM \ Mapping \ MappingException'
с сообщением «Нет идентификатора / основной
ключ указан для сущности "B". каждый
Сущность должна иметь идентификатор / основной
ключ «. в
/var/www/agr-reg-php/Doctrine/ORM/Mapping/MappingException.php:37
Трассировка стека:
N.B: У меня не должно быть составного первичного ключа.