Мы переносим приложение на Symfony2 и в настоящее время застряли на использовании доктрины ORM. У нас есть куча неверных внешних ключей в базе данных, и становится все труднее выполнять сопоставления отношений, не сталкиваясь с исключением «Сущность не найдена». Планируется очистка базы данных, но, к сожалению, мы не можем заняться этим прямо сейчас. Есть ли способ заставить его просто возвращать значение null, если ему не удается найти нужный объект?
Если у меня есть следующее сопоставление отношений:
User:
type: entity
table: user
id:
userID:
type: integer
generator:
strategy: NONE
fields:
contactName:
type: string
length: 255
nullable: false
contactPhone:
type: string
length: 255
nullable: false
companyName:
type: string
length: 255
nullable: false
username:
type: string
length: 255
nullable: false
password:
type: string
length: 255
nullable: false
email:
type: string
length: 255
nullable: false
manyToOne:
address:
targetEntity: Address
joinColumn:
name: addressID
referencedColumnName: addressID
nullable: true
default: null
-----------------------------------------------------
Address:
type: entity
table: address
id:
addressID:
type: integer
generator:
strategy: AUTO
fields:
street:
type: string
length: 255
nullable: false
street2:
type: string
length: 255
nullable: false
city:
type: string
length: 255
nullable: false
state:
type: string
length: 32
nullable: false
zip:
type: string
length: 10
nullable: false
country:
type: string
length: 40
nullable: false
Кажется, что если в пользовательской таблице есть неправильное значение для addressID, я получу «Объект не найден». исключение при отправке через сериализатор.