그래서 나는이 같은 모델이이 같은YII이 : 폼 객체 모델의 모든 속성을 중복되지 않도록
class MyClass
{
public $customer = null;
public $address = null;
}
그리고 형태 :
class MyForm extends CFormModel
{
public $customer = null;
public $address = null;
/**
* Declares the validation rules.
*/
public function rules()
{
return array(
array('customer, address', 'required'),
array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
);
/**
* Declares customized attribute labels.
* If not declared here, an attribute would have a label that is
* the same as its name with the first letter in upper case.
*/
public function attributeLabels()
{
return array(
'verifyCode'=>'Verification Code',
);
}
}
내가하고 싶은 것은, 내 양식에서 모델을 확장하지만 PHP에서 다중 객체 상속을 수행 할 수 없습니다.
양식의 모든 필드 속성을 복제하지 않으려면 어떻게해야합니까? 구성 요소 동작의
다양한 모델의 값을 검색하는 사용자 지정 양식을 공예에 대해 생각하는 경우, 당신이 어떤 빈 모델 뷰를 통과하는 것이 좋습니다, 그리고 그들 각각을 검색 컨트롤러에 제출할 때. – sucotronic
CActiveRecord를 확장 한 경우 작동하지만 이후로는 모델에있는 모든 유효성 검사 코드가 누락되었습니다. 그걸 어떻게 다룰 생각이야? –
'MyClass'개체가 db에 올바른 방식으로 저장되면 CActiveRecord 형식을 확장하는 것이고, 그렇지 않으면 직접 CFormModel 개체를 사용할 수 있습니다. 왜 두 가지 속성을 유지하기 위해 다른 클래스가 필요한지 이해할 수 없습니다. 첫 번째 수업이 필요한 이유를 자세히 설명하고 두 번째 수업 만 사용할 수는 없습니까? – sucotronic