Php 我不会加载模型

Php 我不会加载模型,php,model-view-controller,yii,Php,Model View Controller,Yii,我无法在我的新控制器中加载模型。在其他控制器中,我完全可以称之为: $vid = Video::model()->findByPk($id); 这会让我找到合适的型号 但是在这个控制器中:NewController.php它不工作 public function actionUpdate($id) { $model=$this->loadModel($id); $vid = Video::model()->findByPk($id); if(iss

我无法在我的新控制器中加载模型。在其他控制器中,我完全可以称之为:

$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也是有效的,$id不能正常工作,我快疯了

使用UserController.php的示例如下:

您需要对此发表评论:

$model=$this->loadModel($id);
试试看。

您不需要这样做: $vid=Video::model->findByPk$id


actionUpdate加载要更新的数据,参数$id查找要更新的记录

您说的id是视频的外键。数据库的完整性也是正确的。 但是$vid是使用主键获取的

$vid = Video::model()->findByPk($id);
所以你应该有

$vid = Video::model()->findAll("FK_XXXX=:id", array(':id'=>$id));

您确定$id设置正确吗?是的,因为它适用于其他型号。另外,如果我传递一个硬编码值1,它仍然无法工作。您的代码看起来有点奇怪。为什么两个型号的ID相同?您的主模型和视频模型都有相同的ID?可能有相关但相同的ID?你确定吗?我这么问是因为你的代码看起来还不错,你可能忽略了一些非常小的问题,我想这不是一个编码问题。FK_XXX会是什么?ForeignKey_TableName?仅是构成视频和模型之间关系的字段的名称。您确定每个原始模型只有一个视频吗?你为什么不能多吃点?
$vid = Video::model()->findAll("FK_XXXX=:id", array(':id'=>$id));