如何在 Yii Framework 中更新视图中的值?
How can I update a value in a view in Yii Framework?
嗨,我有一个关于 yii 的问题 Framework.I 想更新 view.php 中的一个值,我在 BilgiformuController
中使用了以下代码
public function actionView($id)
{
$this->loadModel($id)->okunma=1;
$this->render('view',array(
'model'=>$this->loadModel($id),
));
}
但是代码,我没用过 working.How 我可以更新 actionView.Thanks
中的 "okunma" 值吗
此代码:
$this->loadModel($id)->okunma=1;
$this->render('view',array(
'model'=>$this->loadModel($id),
));
检索模型(对象),更改 okunma
属性 并将其丢弃(因为 loadModel()
调用的 return 值未存储在任何地方)另一个 loadModel()
调用只是再次检索模型。
我想你的意思是:
$model = $this->loadModel($id);
$model->okunma=1;
$this->render('view',array(
'model' => $model,
));
通过这种方式,检索到的对象存储在一个变量中,允许您修改它并在修改后将其传递给 render()
。
如果您希望此更改也传播到数据库,您需要 save()
模型:
$model = $this->loadModel($id);
$model->okunma=1;
$model->save();
您不应在视图中执行更新操作。我认为您想设置模型属性并在视图中显示它 - 那么@Liho 提出的解决方案是正确的。如果您想将数据保存到数据库,您应该将 $_POST 属性分配给您的模型:
$model = $this->loadModel($id);
$model->okunma=1;
if(isset($_POST['yourModelName'))
{
$model->attributes = $_POST['yourModelName']);
if($model->validate())
{
$model->save(false);
// other operations, eg. redirect
}
}
$this->render('view',array(
'model' => $model,
));
$model = YourModel::model()->findByPk($id);
$model->okunma=1;
$model->save(false);
$this->render('view',array(
'model' => $model,
));
嗨,我有一个关于 yii 的问题 Framework.I 想更新 view.php 中的一个值,我在 BilgiformuController
中使用了以下代码public function actionView($id)
{
$this->loadModel($id)->okunma=1;
$this->render('view',array(
'model'=>$this->loadModel($id),
));
}
但是代码,我没用过 working.How 我可以更新 actionView.Thanks
中的 "okunma" 值吗此代码:
$this->loadModel($id)->okunma=1;
$this->render('view',array(
'model'=>$this->loadModel($id),
));
检索模型(对象),更改 okunma
属性 并将其丢弃(因为 loadModel()
调用的 return 值未存储在任何地方)另一个 loadModel()
调用只是再次检索模型。
我想你的意思是:
$model = $this->loadModel($id);
$model->okunma=1;
$this->render('view',array(
'model' => $model,
));
通过这种方式,检索到的对象存储在一个变量中,允许您修改它并在修改后将其传递给 render()
。
如果您希望此更改也传播到数据库,您需要 save()
模型:
$model = $this->loadModel($id);
$model->okunma=1;
$model->save();
您不应在视图中执行更新操作。我认为您想设置模型属性并在视图中显示它 - 那么@Liho 提出的解决方案是正确的。如果您想将数据保存到数据库,您应该将 $_POST 属性分配给您的模型:
$model = $this->loadModel($id);
$model->okunma=1;
if(isset($_POST['yourModelName'))
{
$model->attributes = $_POST['yourModelName']);
if($model->validate())
{
$model->save(false);
// other operations, eg. redirect
}
}
$this->render('view',array(
'model' => $model,
));
$model = YourModel::model()->findByPk($id);
$model->okunma=1;
$model->save(false);
$this->render('view',array(
'model' => $model,
));