未定义的变量:yii中的模型

时间:2014-01-07 07:59:18

标签: php yii yii-extensions

我正在尝试yii中的示例应用程序。当我使用cart.php创建新的视图页面名称时遇到了问题。在这个页面中,我试图访问模型变量。它说的是未定义的变量模型..

查看页面

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


    <div>
    <?php echo $form->labelEx($model,'cartId:'); ?>
    <?php echo $form->textField($model,'cartId',array('size'=>20,'maxlength'=>120)); ?>
    <?php echo $form->error($model,'cartId'); ?>
    </div>



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

3 个答案:

答案 0 :(得分:2)

在你的控制器中

public function actionYourPageName(){
    $model = YourModel::model()->findbypk($id);

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

答案 1 :(得分:1)

我们需要将下面的代码添加到我们重定向到ui页面的action方法中,这将自动将模型加载到yii框架中的ui

public function actionName(){
   //if u have id
    $model = YourModel::model()->findbypk($id);
           **or**
    //if u don't have id to retrive record
    $model = new YourModel();
            **or**
    // loadModel is default methode in controller
    'model'=>$this->loadModel($id),

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

答案 2 :(得分:0)

使用以下代码您可以使用主键&#34; $ id&#34;

Public function actionPageName($id=NULL){
        $model = if($id)?YourModel::model()->findbypk($id):new YourModel();
        $this->render('page-name', array('model'=>$model));
 }