2012-09-23 1 views
0

두 가지 문제가있어 도움이 필요합니다.Symfony 양식의 저장 기능 무시

나는 두 번째 테이블에 외래 키가 참조하는 테이블이 있습니다

member_child: 
    _attributes: { phpName: MemberChild } 
    id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true } 
    member_id: { type: INTEGER, size: '11', required: true, foreignTable: member, foreignReference: id } 
    child_id: { type: INTEGER, size: '11', required: true, foreignTable: child, foreignReference: id } 

와 자식 : 이제

child: 
    _attributes: { phpName: Child } 
    id: { type: INTEGER, size: '11', primaryKey: true, autoIncrement: true, required: true, onDelete: cascade } 
    username: { type: VARCHAR, size: '45', required: true, defaultValue: '' } 
    display: { type: TINYINT, size: '1', required: true, defaultValue: '1' } 
    ...etc 

(분명이 추진은)

을 때 양식을 사용하여 하위 개체를 만들고 싶습니다. 두 가지 작업을 수행해야합니다.

    제출에 6,
  1. , 아이가 생성 될 때 doSave 기능이 있으므로, 나는 또한

가 어떻게 이러한 문제를 달성 할 수있는 member_child 객체를 생성 할 수있는 회원 ID

  • 재정의를 제출?

  • 답변

    1

    동의합니다. pankar처럼 embedForm을 사용할 수 있습니다. 또한 다음과 같이 양식 저장 방법을 무시할 수 있습니다.

    $this->childForm = new ChildForm(); 
    $this->childMemberForm = new ChildMemberForm(); 
    
    //binding, checking if form was sent etc. 
    
    if ($this->childForm->isValid() && $this->childMemberForm->isValid()) 
    { 
        //save method should return saved object 
        $childObject = $this->childForm->save(); 
        //therefore this id could be used by next object 
        $this->childMemberForm->save(childObject->getId()); 
    } 
    

    나는 당신을 도울 것입니다!

    0

    당신은 언제든지 부모 형태로 내장 된 심포니 기능 sfForm::embedForm을 사용하여 아이를 구할 수 있지만, 올바르게 작동하는 방법을 알지 못합니다.

    한 시간 전에 한 편의 게시물이 나에게 실제로 해결책을 제공했습니다. Have a look 및 귀하의 필요에 맞는 지보십시오. 물론 Doctrine에 있지만 Propel에서 쉽게 이식 될 수 있다고 가정합니다.