关系:MySQL数据库视图和Yii的CActiveRecord

时间:2014-12-17 00:14:09

标签: php mysql yii

我正在写这个应用程序中的几个表。其中一个是另一个数据库连接的表视图:

View Staff
staffid,
fullname
<etc>

Table User
user_id
staffid
<etc>

尝试使用with()这样的方法:User::model()->with('Staff')->findAll()创建错误Invalid argument supplied for foreach()第826行:

825    $pk=array();
826         foreach($this->_pkAlias as $name=>$alias)
827         {
828             if(isset($row[$alias]))

问题是Yii期待主键,但默认情况下视图不会声明主键吗?

我可以在这做什么?

1 个答案:

答案 0 :(得分:0)

如果有其他人遇到此问题,则通过使用函数primaryKey定义主键,答案将在模型中覆盖它。

public function primaryKey() {
    return 'staffid';
}

参考:http://www.yiiframework.com/forum/index.php/topic/6403-how-to-use-cjoinelement-on-a-table-without-primarykey-in-database/page__view__findpost__p__32815