我在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));
}
答案 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'];