作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 Yii 应用程序中进行授权。在我的数据库中,我有一个包含 2 个主键的 authData 表:
CREATE TABLE IF NOT EXISTS `authdata` (
`idauthData` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(45) NOT NULL,
`password` varchar(80) NOT NULL,
`role` varchar(45) NOT NULL,
`email` varchar(60) NOT NULL,
`employee_idEmployee` int(11) NOT NULL,
PRIMARY KEY (`idauthData`,`employee_idEmployee`),
UNIQUE KEY `idauthData_UNIQUE` (`idauthData`),
KEY `fk_authData_employee1_idx` (`employee_idEmployee`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在我的 Authdata 模型中,我覆盖了 primaryKey() 方法:
public function primaryKey()
{
return array('idauthData', 'employee_idEmployee');
}
但是当我尝试使用 findByPk() 方法在 Authdata activeRecord 类中查找一行时,我遇到了一个异常:
private function getModel(){
if (!$this->isGuest && $this->_model === null){
$this->_model = Authdata::model()->findByPk(array($this->id), array('select' => 'role'));
}
return $this->_model;
}
异常有下一个描述:查询表“authdata”时未提供列“idauthData”的值。
C:\xampp\htdocs\helloworld\protected\components\WebUser.php(14): CActiveRecord->findByPk(array("15"), array("select" => "role"))
09 }
10 }
11
12 private function getModel(){
13 if (!$this->isGuest && $this->_model === null){
14 $this->_model = Authdata::model()->findByPk(array($this->id), array('select' => 'role'));
15 }
16 return $this->_model;
17 }
18 }
19 ?>
我不知道如何解决这个问题。我知道这是一个简单的错误,我只是错过了一些时刻。那为什么如果有人能帮助我我会很高兴!提前致谢
最佳答案
好的,现在我知道了。您定义了复合主键,但没有将其传递给 findByPk
:
这应该有效:
Authdata::model()->findByPk(array(
'idauthData' => $this->id,
'employee_idEmployee' => $employeeId
), array('select' => 'role'));
关于php - 查询表 "idauthdata"时未提供列 "authdata"的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19705295/
我正在尝试在我的 Yii 应用程序中进行授权。在我的数据库中,我有一个包含 2 个主键的 authData 表: CREATE TABLE IF NOT EXISTS `authdata` ( `
我是一名优秀的程序员,十分优秀!