Here,two tables
news (_id,subject.content,sender_id) _id is primary key
users(_id,username,email) _id is primary key
In two tables,news.sender_id = users._id
One user can have many news.
What I want to do is : how to connect two tables that I could select e.g.username in the NewsController?
My code is:
model News.php
class News extends CActiveRecord
{....
public function relations()
{
return array(
'user' => array(self::BELONGS_TO,'Users','','on' => '_id=sender_id','joinType' => 'INNER JOIN','alias' => 'Users'));
}
....
}
model Users.php
class Users extends CActiveRecord
{.....
public function relations()
{
return array(
'news' => array(self::HAS_MANY,'News','','on' =>'sender_id=_id','joinType' => 'INNER JOIN','alias' => 'News')
);
}
.....
}
controller NewsController.php
class NewsController extends Controller
{....
public function actionAdmin()
{
.....
$nrows = News::model()->with('Users')->findAll("Users.username = :username",
array(':username' => "zzz"));
foreach($nrows as $rows){
echo $row->Users->_id;
echo $row->content;
}
}
...
}
Then I run r=news/admin returns error:
Relation "Users" is not defined in active record class "News".
Why?Help!!!