大家好,感谢您阅读,我没有什么问题,我安装了yii用户扩展。 我创建了另一个与用户表关系的表。 Yii自动创建了与“用户”表的关系,但是当我尝试使用这种关系时,它会给我以下消息;
include(Users.php):无法打开流:没有这样的文件或目录
这可能是因为用户模型与其他模型不同,而是在模块/用户中..... 我怎样才能使它工作? 例如
array(
'header' => __('Title'),
'name' => 'id_employer_contract',
'value' => '$data->user->username',//user is the name of relationship
),
答案 0 :(得分:0)
当尝试从User模块外部访问User.php模型时,该文件尚未导入。
如果查看UserModule.php文件的init()方法,您将看到User.php文件是通过user.models.*
语句导入的。
从系统的其他部分导入此文件有几种不同的方法:
application.modules.user.models.*
添加到main.php的导入部分。这将使其在您的应用程序中随处可用Yii::import('application.modules.user.models.*');
,具体取决于User.php Yii::app()->getModule('user');
。这将调用User模块中的init()方法。答案 1 :(得分:0)
查看"include(Users.php): failed"
您可以通过以下方式更改关系映射(由Gii自动生成):
'user' => array(self::BELONGS_TO, 'Users', 'user_id')
对此:
'user' => array(self::BELONGS_TO, 'User', 'user_id')
这应该可以解决问题。
答案 2 :(得分:0)
在Yii的另一个版本中,在创建关系时,相应的模型可能是YumUser
而不是User
,为我完成了这项工作:
'user' => array(self::BELONGS_TO, 'YumUser', 'user_id')
答案 3 :(得分:0)
您遇到的问题是用户的表名称被称为"用户"所以,当yii为模型生成解析它时,它会将用户模型解析为"用户"但yii-user模块扩展的模型为" UserModel"在名为User.php的文件中 这意味着在某种程度上,名为Users.php的文件不存在。
要解决此问题,只需将新模型中的关系更改为'user' => array(self::BELONGS_TO, 'User', 'User'),
而不是'user' => array(self::BELONGS_TO, 'Users', 'User'),