문제는 $ this를 사용하고 있습니다. 실제로 도우미에서는 CodeIgniter에서 $ this를 사용할 수 없습니다. 인스턴스를 변수로 가져와 $ this와 같이 사용할 수 있어야합니다.
$CI = & get_instance();
$CI->load->model('Dynamic_dropdown', 'dd_model');
아래 코드는 PHP 코드 생성기에서 생성 한 동적 선택 컨트롤입니다. 이런 식으로 사용할 수 있습니다.
function form_dynamic_dropdown($tablename, $fieldDetails, $valueColumn, $displayColumn, $default='') {
if (!is_array($fieldDetails)) {
log_message('error', 'Field details should be an array for dynamic dropdown', TRUE);
return;
}
$field_properties = '<select';
foreach ($fieldDetails as $key => $value) {
$field_properties .= ' ' . $key . ' = \'' . $value . '\'';
}
$field_properties .= '>';
$CI = & get_instance();
$CI->load->model('Dynamic_dropdown', 'dd_model');
$field_properties .= '<option value=\'\'>';
$field_properties .= 'Select';
$field_properties .= '</option>';
if(isset($fieldDetails['name']) && isset($_POST[$fieldDetails['name']]))
$default = $_POST[$fieldDetails['name']];
$condition = array();
$results = $CI->dd_model->search($condition, $tablename);
foreach ($results as $result) {
if ($result->$valueColumn == $default)
$field_properties .= '<option value=\'' . $result->$valueColumn . '\' selected>';
else
$field_properties .= '<option value=\'' . $result->$valueColumn . '\'>';
$field_properties .= $result->$displayColumn;
$field_properties .= '</option>';
}
$field_properties .= '</select>';
return $field_properties;
}
이 오류가 발생하는 코드를 추가하십시오. –