Ние пренасяме приложение към Symfony2 и в момента сме блокирани, използвайки doctrine ORM. Имаме куп лоши външни ключове в базата данни и става все по-трудно да правим съпоставяния на релациите, без да попаднем в изключение „Обектът не е намерен“. В пътната карта е да изчистим базата данни, но не е нещо, с което можем да се справим в момента, за съжаление. Има ли някакъв начин да го накарам просто да върне нула, ако не успее да потърси правилния обект?
Ако имам следното картографиране на връзката:
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 в потребителската таблица, ще получа „Обектът не е намерен“. изключение, когато го изпращате през сериализатора.