엔터티입니다.Doctrine : NULL이 아닌 필드 만 삽입하십시오.
My\Bundle\Entity\Service:
type: entity
table: SERVICE
fields:
idService:
id: true
type: integer
unsigned: false
nullable: false
column: ID_SERVICE
generator:
strategy: IDENTITY
codeService:
type: string
length: 5
fixed: false
nullable: false
column: CODE_SERVICE
dateCreation:
type: date
nullable: false
column: DATE_CREATION
dateModification:
type: date
nullable: false
column: DATE_MODIFICATION
내 데이터베이스에는 dateCreation 및 dateModification을 설정하는 BEFORE INSERT 트리거가 있습니다.
내가 그를 자신의 일을 할 수 있도록하고 싶습니다,하지만 난 새로운 엔티티를 지속 할 때, 나는이 SQL 오류 가지고 :
An exception occurred while executing 'INSERT INTO SERVICE (CODE_SERVICE, DATE_CREATION, DATE_MODIFICATION) VALUES (?, ?, ?)' with params ["test", null, null]:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'DATE_CREATION' cannot be null
이 할 수있는 방법이 있나요를? 내가
다음트리거입니다 ... 트리거가 나쁜,하지만 난 어떤 선택의 여지가 없어 알고, 그것을 작동 :
CREATE TRIGGER `SERVICE_BI_TG` BEFORE INSERT ON `SERVICE` FOR EACH ROW BEGIN
BEGIN
SET NEW.DATE_CREATION=NOW();
SET NEW.DATE_MODIFICATION=NOW();
END
문제는 내가 다른 필드에 설정되어 있다는 것입니다 INSERT 또는 UPDATE는 일부 외래 키와 다른 테이블의 일부 UPDATE와 마찬가지로 내 게시물을 위해 단순화했습니다.
당신이 전에 삽입을위한 코드를 가지고 있나요? –
방아쇠로 초기 게시물을 업데이트했습니다. – Ulti
어디에서이 방아쇠를 설정 했습니까? doStuffOnPrePersist() 함수 엔티티를 통해이 작업을 수행하고 있습니까? –