簡體   English   中英

Yii不會加載模型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM