2014-04-07 2 views
0

내가 FuelPHP의 모델 _properties 변수 내에서 선택 폼 요소를 만드는거야 :는 FuelPHP 모델 속성에 동적 양식 필드 옵션을 추가

내가 SQL 쿼리의 결과에 [category_id][form][options]을 설정할
protected static $_properties = array(
    'category_id' => array(
     'data_type' => 'int', 
     'label' => 'Category', 
     'form' => array(
      'type' => 'select', 
      'options' => array() 
     ) 
    ) 
); 

그러나이 분명 할 수 없습니다 클래스 선언 내에서 수행해야하고 변수를 __construct()에서 수정하려고 시도했지만이 코드는 아래에 있지만 오류가 발생합니다.

function _construct() { 

    parent::__construct(); 

    self::$_properties['category_id']['form']['options'] = array('a'); 

} 

내 질문은 어떻게 필드 옵션을 FuelPHP를 사용하여 동적으로 설정합니까?

답변

1

거의 다 왔었습니다. Fuel은 정적 속성을 할당 할 수있는 init이라는 정적 생성자를 제공합니다.

function _init() { 

    parent::_init(); 

    self::$_properties['category_id']['form']['options'] = array('a'); 

} 
+0

Ah! 그래, 아주 가까이, 고마워. D. 'parent :: _ init();'를 계속 사용하면 다음 오류가 발생합니다. 'Error - Invalid method call. 메소드 _init가 존재하지 않습니다./사용자/beneverard/보관 용/비즈니스/웹/프로젝트/Neil White/ER Books/fuel/packages/orm/classes/model.php on line 537'. 내 모델 선언은 다음과 같이 보입니다.'Model_Book extends \ Orm \ Model {' –

+0

}'parent :: _ init();'을 호출 할 필요가없는 문서를 보았습니다. 내가하지 않을 때 내 문제를 일으킨다. –

+0

'extends '하는 모델에 자체적 인'_init()'메소드가있는 경우에만'parent :: _ init()'이 필요합니다. 부모 클래스에 없으면 무시해도 안전합니다. – Uru