2014-01-24 6 views
1

Я новичок в Yii, и я работаю над созданием выпадающий .Я столкнулся ошибку, пожалуйста, предложить мне .. Вот его мой выпадающий кодОбъект класса Createproduct не могут быть преобразованы ошибки строки в юй

<?php 
/* @var $this CreateproductController */ 
/* @var $model Createproduct */ 
/* @var $form CActiveForm */ 
?> 

<div class="form"> 

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'createproduct-form', 
    'method'=>'post', 
    // Please note: When you enable ajax validation, make sure the corresponding 
    // controller action is handling ajax validation correctly. 
    // There is a call to performAjaxValidation() commented in generated controller code. 
    // See class documentation of CActiveForm for details on this.E0E0E0 EFF0F2 
    'enableAjaxValidation'=>false, 
)); ?> 

    <?php echo $form->errorSummary($model); ?> 


    <div class="row" style="background-color: #F7F7F7; height:30px;"> 
     <?php echo $form->labelEx($model,'Product Type'); ?>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 
     <?php echo CHtml::dropDownList($model,'pr_name',$model->getTypeOptions()); ?> 
     <?php echo $form->error($model,'pr_type'); ?> 
    </div> 

    <div class="row buttons"> 
     <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save',array('class'=>'button1')); ?> 
    </div> 

<?php $this->endWidget(); ?> 

</div> 

в getTypeOptions() метод имеет ниже и постоянное использование внутри этого метода и объявил

const CAT_EMPTY=0; 
const CAT_PHONE=1; 
const CAT_ROUTERS=2; 
const CAT_ACCESSORIES=3; 
const CAT_SERVICES=4; 

public function getTypeOptions() 
{ 
    return array(
    self::CAT_EMPTY=>'Select_Category', 
    self::CAT_PHONE=>'Phones', 
    self::CAT_ROUTERS=>'Routers', 
    self::CAT_ACCESSORIES=>'Accessories', 
    self::CAT_SERVICES=>'Services', 



    ); 
} 

Помогите мне ..

+0

, что это ошибка, которую вы получаете? –

+0

Объект класса Createproduct не может быть преобразован в строку ошибки в yii..Createproduct мой класс модели – sonorita

+0

что это? 'Самостоятельно :: CAT_EMPTY'? Это строка? –

ответ

1

проблемы в использовании CHtml::dropDownList следует использовать так:

<?php echo CHtml::dropDownList("model_name[pr_name]",'selected_value',$model->getTypeOptions()); ?> 

В качестве альтернативы вы можете использовать виджет $formdropDownList функция

<?php echo $form->dropDownList($model, 'pr_name',$model->getTypeOptions()); ?> 
+0

Я использовал dropDownList ($ model, 'pr_name', $ model-> getTypeOptions()); ?> но я получаю ошибку в вышеприведенном коде .. Если я удалю $ model в коде, это отобразит выпадающее меню, но я не получу значение раскрывающегося списка в методе контроллера. Любое предложение – sonorita

+0

попробуй первый метод. –

+1

Спасибо, человек наконец, я сделал это с помощью выше ответа – sonorita