Yii Model属性显示空值/空值

时间:2014-06-09 04:58:56

标签: php yii model frameworks

我在Yii工作的是一个简单的表格。我之前能够访问模型属性值。

但现在我不能,因为它显示为空/ null。

我不知道问题是什么以及如何解决这个问题。任何帮助将不胜感激。 谢谢。

这是表格代码。

    <div class="span4">
    <?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'testform',
    'enableClientValidation'=>true,
    'clientOptions'=>array(
        'validateOnSubmit'=>true,
    ),
    )); ?>

    <p class="note">Fields with <span class="required">*</span> are required.</p>

    <div class="row">
    <?php echo $form->labelEx($model,'sample'); ?>
    <?php echo $form->textField($model,'sample'); ?>
    <?php echo $form->error($model,'sample'); ?>
    </div>
    <div class="row buttons">
    <?php echo CHtml::submitButton('Login'); ?>
    </div>

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

这是模型的代码:

     class Questions extends CActiveRecord
    {
        public $sample;

    public function tableName()
    {
          return 'questions';
    }


    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels()
    {
        return array(
            'queid' => 'Queid',
            'question' => 'Question',
                        'sample'=>'sample textfield',
        );
    }

    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

        public function getInput()
        {
            $data = $this->sample;
            echo "<script>alert('testing input'".$this->sample."')</script>";
            echo $this->sample;
            return $data;

        }
}

这是该页面的控制器代码:

  public function actiontest()
      {
        $model = new Questions();
        $data = "";
          if(isset($_POST["Questions"]))
          {
            $data = $model->getInput();
          }

        $this->render('test',array('model'=>$model,'data'=>$data));
     }

1 个答案:

答案 0 :(得分:0)

在你的控制器中, 为什么使用$_POST['test']?什么是&#39; test&#39;这里 。您的型号名称为Questions

尝试

if(isset($_POST["Questions"])) {
   $model->attributes = $_POST["Questions"];
   echo $model->sample ; // you will get the value of sample

 }

如果你想要属性值,你可以试试这个而不是你的getInput(),

 $data = $_POST['Questions']['sample'];