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));
}
你需要评论这个:
$model=$this->loadModel($id);
试试吧。
你不需要做这个:
$vid = Video::model()->findByPk($id);
actionUpdate加载数据更新,参数$id查找记录更新
你说的是"The ID is the foreign key for the video. The integrity of the database is correct too."
但是 $vid 是使用主键
$vid = Video::model()->findByPk($id);
所以你应该
$vid = Video::model()->findAll("FK_XXXX=:id", array(':id'=>$id));
我无法在 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));
}
你需要评论这个:
$model=$this->loadModel($id);
试试吧。
你不需要做这个:
$vid = Video::model()->findByPk($id);
actionUpdate加载数据更新,参数$id查找记录更新
你说的是"The ID is the foreign key for the video. The integrity of the database is correct too." 但是 $vid 是使用主键
$vid = Video::model()->findByPk($id);
所以你应该
$vid = Video::model()->findAll("FK_XXXX=:id", array(':id'=>$id));