
First, I installed WampServer, which is a package of Apache, Php and MySql coupled into one. In the httpd.conf file I pointed the “DocumentRoot” and “Directory” configurations to the directory, where I would have my application and Yii framework. 
I copied the Yii framwork in "d:/workspace/app_demo/”
To create the stub application from yii, I executed these commands for my setup:
>cd D:\workspace\app_demo
>yii\framework\yiic webapp myapp
-------
This created an application “myapp” under “app_demo” folder.
The “/app_demo/myapp/protected/config/main.php” file contains the database configurations. By default the database was pointed to an sqlite database. I changed that, to point to Mysql database. So I had these settings for my mysql database.
 /* 'db'=>array(
   'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
  ),*/
 'db'=>array(
   'connectionString' => 'mysql:host=localhost;dbname=pages_db',
   'emulatePrepare' => true,
   'username' => 'root',
   'password' => '',
   'charset' => 'utf8',
  ),
I also enabled logging through this file to look like this: 
'log'=>array(
   'class'=>'CLogRouter',
   'routes'=>array( array('class'=>'CFileLogRoute',
     'levels'=>'error, warning',
    ),
    array('class'=>'CWebLogRoute',
    ),       ),    ),
-------
My database had two tables (user and address). The sql is shown below: 
CREATE TABLE IF NOT EXISTS `address` (
  `addressid` int(11) NOT NULL AUTO_INCREMENT,
  `firstline` varchar(45) DEFAULT NULL,
  `secondline` varchar(45) DEFAULT NULL,
  `city` varchar(45) DEFAULT NULL,
  `state` varchar(45) DEFAULT NULL,
  `country` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`addressid`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `user` (
  `userid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'This contains the userid of the user',
  `fname` varchar(128) NOT NULL COMMENT 'This contains the first name of the user',
  `lname` varchar(128) DEFAULT NULL COMMENT 'This contains the last name of the user',
  `sex` varchar(1) NOT NULL COMMENT 'This contains the sex of the user',
  `age` int(100) DEFAULT NULL COMMENT 'This contains the age of the user',
  `creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'This contains the user account creation',
  `user_addressid` int(11) DEFAULT NULL,
  PRIMARY KEY (`userid`),
  KEY `fk_user_address` (`user_addressid`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
ALTER TABLE `user` ADD CONSTRAINT `fk_user_address` FOREIGN KEY 
(`user_addressid`) REFERENCES `address` (`addressid`) ON DELETE NO ACTION ON 
UPDATE NO ACTION;
-------
I had to create corresponding models for the tables. After the database configuration, I ran the following commands to create the models in my app. 
cd app_demo\myapp 
D:\workspace\app_demo\myapp>protected\yiic shell index.php
This opened the Yii Interactive Tool.
Yii Interactive Tool v1.1 (based on Yii v1.1.2)
Please type 'help' for help. Type 'exit' to quit.
>> model *
The following model classes (tables) match your criteria:
1. Address (address)
2. User (user)
Do you want to generate the above classes? [Yes|No] yes 
   generate models/Address.php
   generate fixtures/address.php
   generate unit/AddressTest.php
   generate models/User.php
   generate fixtures/user.php
   generate unit/UserTest.php 
The following model classes are successfully generated:
    Address, User 
If you have a 'db' database connection, you can test these models now with:
    $model=User::model()->find();
    print_r($model); 
-------
After this, I edited the actionIndex function in SiteController.php to look like this:
public function actionIndex()
 {
  // renders the view file 'protected/views/site/index.php'
  // using the default layout 'protected/views/layouts/main.php'
  $this->render('index', array(
            'user' => User::model()->findAll()
        )); 
}
In the index.php, I added the following table to display the records from the database:
  
   
foreach($user AS $us):?> 
 echo $us->fname;?> 
echo $us->lname;?> 
echo $us->age;?> 
echo $us->user_address->city;?> 
 endforeach;?>
 Then I pointed my browser to http://localhost/myapp/index.php and this generated a table with the results.
More on this later...