[英]Yii won't load a model
我无法在NewController
加载模型。 在其他控制器中,我可以完美地称呼这行:
$vid = Video::model()->findByPk($id);
它将为我提供正确的模型。
但是在此控制器: NewController.php
它不起作用。
public function actionUpdate($id)
{
$model=$this->loadModel($id);
$vid = Video::model()->findByPk($id);
if(isset($vid)) // Check if it works.
$this->render('update',array('model'=>$model, 'vid'=>$vid));
}
有人对它为什么不起作用有什么建议吗?
$id
是有效的,因此$model
也是如此,我应该为此疯狂而无法正常工作。
一个工作UserController.php
的示例:
public function actionView()
{
if(isset($_GET['user']))
$username = $_GET['user'];
else
$username = Yii::app()->user->name;
$user = User::model()->find("username=:username",array(':username'=>$username));
$saveQ = SavedQuery::model()->findAll("FK_userid=:id", array(':id'=>$user->id));
$vid = Video::model()->findByPk($user->id);
$this->render('View', array('user'=>$user, 'vid'=>$vid, 'saveQ'=>$saveQ));
}
您不需要这样做: $vid = Video::model()->findByPk($id);
该actionUpdate负荷更新的数据,参数的$ id寻求记录更新
您说的是“ ID是视频的外键。数据库的完整性也是正确的。” 但是$ vid是使用主键获取的
$vid = Video::model()->findByPk($id);
所以你应该有
$vid = Video::model()->findAll("FK_XXXX=:id", array(':id'=>$id));
您需要对此发表评论:
$model=$this->loadModel($id);
尝试一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.