I am learning Yii framework via the "Agile Web Application Development … " book and am getting this error during testing:
ProjectTest::testGetUserOptions
CDbException: CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘users_users.user_id)’ in ‘on clause’
The column name is "users_users.user_id" and I think it should be just "users.user_id".
The error was generated when executing this command:
public function getUserOptions()
{
[b]$usersArray = CHtml::listData($this->users, 'id', 'username');[/b]
return $usersArray;
}
I have no idea how to begin troubleshooting this.
Can anyone help me?
I am learning Yii framework via the "Agile Web Application Development … " book and am getting this error during testing:
ProjectTest::testGetUserOptions
CDbException: CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘users_users.user_id)’ in ‘on clause’
The column name is "users_users.user_id" and I think it should be just "users.user_id".
The error was generated when executing this command:
public function getUserOptions()
{
[b]$usersArray = CHtml::listData($this->users, 'id', 'username');[/b]
return $usersArray;
}
I have no idea how to begin troubleshooting this.
Can anyone help me?
if u want to list out from ur model User follow this code hope it will help u
return(CHtml::listData(User::model()->findAll(), 'id', 'username'));
jefftulsa
(Jefftulsa)
December 9, 2010, 2:47pm
3
I am learning Yii framework via the "Agile Web Application Development … " book and am getting this error during testing:
ProjectTest::testGetUserOptions
CDbException: CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘users_users.user_id)’ in ‘on clause’
The column name is "users_users.user_id" and I think it should be just "users.user_id".
The error was generated when executing this command:
public function getUserOptions()
{
[b]$usersArray = CHtml::listData($this->users, 'id', 'username');[/b]
return $usersArray;
}
I have no idea how to begin troubleshooting this.
Can anyone help me?
Could you share what your relations() method looks like in your Project model class?
if u want to list out from ur model User follow this code hope it will help u
return(CHtml::listData(User::model()->findAll(), 'id', 'username'));
Thanks for the reply.
I’m not sure where to use your line of code.
My error is generated when running the unit test below and is triggered by the bold line
public function testGetUserOptions()
{
$project = $this->projects('project1');
[b]$options = $project->userOption[/b]s;
// $this->assertTrue(is_array($options));
// $this->assertTrue(count($options) > 0);
}
I just created the get method in the Project AR that looks like this:
public function getUserOptions()
{
$usersArray = CHtml::listData($this->users, 'id', 'username');
return $usersArray;
}
If I manually return an array from the Project AR (using this code), everything works fine:
public function getUserOptions()
{
return array(
'test1' => 'test1',
'test2' => 'test2',
);
}
Here are my Project AR relations
‘issues’ => array(self::HAS_MANY, ‘Issues’, ‘project_id’),
‘users’ => array(self::MANY_MANY, ‘User’, ‘tbl_project_user_assignment(project_id, user_id))’),
jrewing
(Wiik Andreas)
December 9, 2010, 9:55pm
6
I have the exact same problem.
jrewing
(Wiik Andreas)
December 9, 2010, 10:25pm
7
It works! Hurray. Double check everything is my suggestion.
What did you change to solve the problem?
jrewing is right! Check EVERYTHING!
If you look at the users element relations() method of the model class, there is an extra left paren. toward the end.
Thanks for everyones help; I’ll look at little close at the simple things next time.