1
나는이 같은 스키마 :embedForm 절약 문제 - 심포니
이스키마 :
article:
id: ~
title: { type: VARCHAR, size: '255', required: true }
created_at: { type: TIMESTAMP, required: true }
updated_at: { type: TIMESTAMP, required: true }
article_data:
id: ~
article_data: { type: BLOB, required: true }
article_filename: { type: VARCHAR, size: '255'}
article_id: { type: INTEGER, required: true, foreignTable: article, foreignReference: id, onDelete: cascade }
그래서, 내 문서 관리 모듈에서, 내가 파일 업로드입니다 article_data 위젯을 표시하고 싶습니다.
모든 것이 좋습니다. 그러나 업로드 된 파일을 서버에 저장할 때 article_id 필드는 null입니다.
문서 ID를 가져 와서 article_data 테이블의 article_id로 저장할 수있는 방법이 있습니까?
감사
는편집 :
나는 내가 saveEmbeddedForm() 메소드를 오버라이드 (override) 할 필요가 있다고 생각하지만, 내가해야 할 것입니다 무엇 확실하지 않다.
누군가가 saveEmbeddedForm()에 대한 코드를 도울 수 있습니까?
감사
감사합니다. 귀하의 코드를 사용하여 약간 수정했습니다. 내가 사용 : $ this-> embedForm ('article_data', 새로운 ArticleDataForm()); 어떤 이유로 코드가 입력 위젯을 표시하지 않기 때문에 configure에서 코드가 아닌 또한 입력이 비어있는 경우에도 테이블에 새 행을 만듭니다. 이미지가 없으면 새 이미지를 만들고 편집하는 경우 이미지를 업데이트해야합니다. – terrid25
괜찮습니다. 나는 일대일 관계를 많이했다. 당신은 일대일 관계입니다. 그런 다음'saveEmbeddedForm' 함수에서'$ this-> getEmbeddedForm ('article_data') -> getObject() -> setArticle ($ this-> getObject())'를 수행하십시오. – joksnet