2013-04-28 6 views
0

나는 체중 필드가있는 폼이 있으며 숫자에 대한 입력과 단위 (파운드, kg 등)에 대한 선택 드롭 다운이 있어야합니다. 결과를 작성하고 싶습니다. 예 : 단일 varchar 데이터 유형으로 제출시 데이터베이스에 저장 '125 lbs'. 이것은 CakePHP 폼 헬퍼를 사용하여 가능합니까?CakePHP 중첩 양식 도우미

답변

2

CakePHP는 특정 상황을 고려하지 않았기 때문에 "CakePHP 양식 도우미와 함께"가능한 것은 아닙니다.

하지만 알다시피, 가장 쉬운 (그리고 또한 가장/가장 지능적인) 방법은 데이터베이스에 두 개의 별도 필드 (예 : weight 및 weight_units)를 사용하는 것입니다. 그렇지 않으면 당신은 당신의 데이터베이스와주고받을 때 당신의 무게와 함께 하나의 weight_with_units 필드를 끊임없이 두 부분으로 나눌 것입니다. 두 개의 데이터베이스 필드를 사용하면 Cake의 양식 도우미로 쉽게 처리 할 수 ​​있습니다.

또는 일관성을 유지하고 사용자가 항상 동일한 측정 항목을 사용하도록합니다. 그래서 당신은 하나의 필드 weight_in_pounds를 가지게됩니다.이 필드는 숫자 (예 : 245) 만 저장하지만 245 파운드라고 가정합니다. 같은 필드에서 무게와 무게를 모두 저장하는 것은 확실히 방법이 아닙니다.

+0

감사합니다. 실제로 데이터베이스에서 공간을 절약하려고했지만 더 논리적 인 것으로 보입니다. – dcd0181

+0

데이터베이스가 요즘 꽤 빠릅니다. 공간/속도 등을 줄이려면 좋은, 합리적인 디자인을 손상시킬 가치가 거의 없습니다. –

0

나는 사용자가 체중 단위를 선택하도록하고 싶다 - 파운드는 나를 혼란스럽게하지만 나는 여전히 미국에서 사용된다는 것을 알게된다. 나는 버터와 아기들에게만 파운드를 사용합니다!

데이터를 두 개의 필드로 분리하면 많은 방법으로 유연성을 얻을 수 있으며 훨씬 더 깨끗합니다.

그러나 폼에 두 개의 필드가 있고 (이름을 구성하기 만하면) 저장하기 전에 컨트롤러에 가입하거나 펑키 사용자 지정 유효성 검사 규칙으로 모델에 추가 할 수 있습니다.