Php Yii框架表单提交按钮显示错误
我收到一个错误Php Yii框架表单提交按钮显示错误,php,yii,yii-extensions,Php,Yii,Yii Extensions,我收到一个错误致命错误:在尝试访问url时,在2253行的F:\xampp\yii\framework\web\helpers\CHtml.php中对非对象调用成员函数hasErrors()http://localhost/happybox/index.php/site/cart/3。我的视图文件cart.php的代码是: Hello, <?php echo ucwords(Yii::app()->user->name); ?>,<br/> This is y
致命错误:在尝试访问url时,在2253行的F:\xampp\yii\framework\web\helpers\CHtml.php中对非对象调用成员函数hasErrors()http://localhost/happybox/index.php/site/cart/3
。我的视图文件cart.php的代码是:
Hello, <?php echo ucwords(Yii::app()->user->name); ?>,<br/>
This is your cart<br/>
Click on Order to Place and Order.<br/>
<?php
$Orders = Orders::model()->findAll(array(
'select'=>'products_id',
'condition'=>'users_id=:id && type=:type',
'params'=>array(':id'=>Yii::app()->user->id, ':type'=>'cart'),
));
?>
<?php
if($Orders){
foreach ($Orders as $order) {
echo '<br/>'.$order->products->title.'<br/>'.$order->products->description.'<br/>';
}
}else{
echo 'Your Cart is Empty';
}
?><br/><br/>
<?php
if($Orders){
$form=$this->beginWidget('CActiveForm', array('id'=>'order-form'));
echo $form->hiddenField($model,'users_id',array('value'=>Yii::app()->user->id));
echo CHtml::submitButton('Confirm Your Order');
$this->endWidget();
}
?>
有人能指出这段代码中的错误吗?这对我来说非常重要。请帮助。$model=$model=$this->loadModel($id)
在代码和var_dump
$model中修复这一行,查看它返回了什么,检查它是否为null或不是CActiveRecord我在小部件中创建hiddenField时遇到了相同的错误。它是这样工作的:
echo $form->hiddenField(
**YourModelName::model()**,
'users_id',
array('value' => Yii::app()->user->id)
);
就像Telvin回答的那样,您需要修复这一行:$model=$model=$this->loadModel($id)代码>到$model=$this->loadModel($id)代码>。那应该能解决你的问题。我做到了。。但问题是完好无损的你的观点会一直持续到某一点吗?换句话说,是否只有在启动表单时才会发生错误(此处:$form=$this->beginWidget('CActiveForm',array('id'=>'order-form');
)?或者页面根本不渲染?页面渲染到某一点。我理解了错误,代码$model=$this->loadModel($id)当loadModel函数获取Orders表中users\u id=$id
的行时,code>从模型Orders
返回多行。我已经认识到了错误,但我不知道如何解决它,因为我不是那么精通Yii。另外,假设这个问题已经解决,那么我想更改同一Orders表中的type
列,该表的users\u id=$id
。你能告诉我如何使用更新功能来做同样的事情吗。注:在订单
模型中还有一行名为产品
。$model
应该是单个订单模型的一个实例。请尝试更改$model=$this->loadModel($id)
到$model=Orders::model()->findByPk($id)
?我做到了,但问题仍然没有解决。另外,$model不为null,属于CActiveRecord。
echo $form->hiddenField(
**YourModelName::model()**,
'users_id',
array('value' => Yii::app()->user->id)
);