Doctrine 객체의 Doctrine 기본 형식을 확장 한 사용자 지정 Form이 있습니다.Symfony : Doctrine 양식에 대해 sfWidgetFormInputCheckbox() "on"이 true입니까?
나는 유형 : 부울 인 데이터베이스 필드가 있습니다. 내 양식의 경우 sfWidgetFormInputCheckbox()
위젯으로 표시했습니다. 양식을 제출할 때 체크 박스의 값은 on
으로 반환되고 선택되어 있지 않으면 값이 전달되지 않습니다. 어느 쪽이든, 내 $form->save()
할 때 부울 필드 영향을받지 않습니다. Symfony/Doctrine은 true
또는 false
을보고 싶어합니다. on
또는 전혀 가치가 없습니다.
$values['my_field'] = isset($values['my_field']) ? true : false;
이이 처리하는 적절한 방법인가 :
내 솔루션은 값이 전혀 전달 그렇다면, 그 필드가 다른 false
true
경우 바로 보는 것입니다? 나는 Symfony/Doctrine이 이미 체크 박스를 다루는 방법을 이해할 것이라고 생각한다. 체크 박스의 값이 on
으로 되돌아 오면 데이터베이스의 해당 값을 true
으로 설정하고 존재하지 않으면 그 값은 false
입니다.
분명히 내 접근 방식이 작동하지만 ... 올바른 접근 방식은 무엇입니까?
'my_field'가 포함 된 양식을 확장하지 않는 이유는 무엇입니까? – scube
나는 그랬다. 양식을 제출할 때 값은 "ON"입니다. "참"또는 "거짓"이 아닙니다. –