i have 12 tables i want to do search buy using all 12 tables but on one view i can do it .

Are those tables related, can U provide table structure and model relations

Blogger Model



 * This is the model class for table "tbl_blogger".


 * The followings are the available columns in table 'tbl_blogger':

 * @property integer $id

 * @property integer $contact_id

 * @property integer $personal_id

 * @property string $blogger_name

 * @property string $blog_name

 * @property string $email

 * @property integer $rating

 * @property string $city

 * @property string $state

 * @property string $country

 * @property string $status

 * @property string $contract_status

 * @property string $blog_url

 * @property string $about_me

 * @property string $image


 * The followings are the available model relations:

 * @property Contact $contact

 * @property Personalinfo $personal

 * @property BloggerexpertiseRelation[] $bloggerexpertiseRelations

 * @property BloggerinterestRelation[] $bloggerinterestRelations

 * @property BloggernoteRelation[] $bloggernoteRelations

 * @property BloggerprojectRelation[] $bloggerprojectRelations

 * @property BloggersocialRelation[] $bloggersocialRelations

 * @property BloggersurveyRelation[] $bloggersurveyRelations

 * @property Socialmedia[] $socialmedias


class Blogger extends CActiveRecord



	 * @return string the associated database table name


	public function tableName()


		return 'tbl_blogger';



	 * @return array validation rules for model attributes.


	public function rules()


		// NOTE: you should only define rules for those attributes that

		// will receive user inputs.

		return array(

			array('contact_id, personal_id, blogger_name, email, status, contract_status', 'required'),

			array('contact_id, personal_id, rating', 'numerical', 'integerOnly'=>true),

			array('blogger_name, email, blog_url', 'length', 'max'=>50),

			array('blog_name', 'length', 'max'=>100),

			array('city, state, country', 'length', 'max'=>20),

			array('status', 'length', 'max'=>12),

			array('contract_status', 'length', 'max'=>16),

			array('about_me', 'length', 'max'=>300),

			array('image', 'file', 'types'=>'jpg, gif, png, bmp, jpeg','maxSize'=>1024 * 1024 * 10, // 10MB

                                'tooLarge'=>'The file was larger than 10MB. Please upload a smaller file.','allowEmpty' => true),

			// The following rule is used by search().

			// @todo Please remove those attributes that should not be searched.

			array('id, contact_id, personal_id, blogger_name, blog_name, email, rating, city, state, country, status, contract_status, blog_url, about_me, image', 'safe', 'on'=>'search'),




	 * @return array relational rules.


	public function relations()


		// NOTE: you may need to adjust the relation name and the related

		// class name for the relations automatically generated below.

		return array(

			'contact' => array(self::BELONGS_TO, 'Contact', 'contact_id'),

			'personal' => array(self::BELONGS_TO, 'Personalinfo', 'personal_id'),

			'bloggerexpertiseRelations' => array(self::HAS_MANY, 'BloggerexpertiseRelation', 'blogger_id'),

			'bloggerinterestRelations' => array(self::HAS_MANY, 'BloggerinterestRelation', 'blogger_id'),

			'bloggernoteRelations' => array(self::HAS_MANY, 'BloggernoteRelation', 'blogger_id'),

			'bloggerprojectRelations' => array(self::HAS_MANY, 'BloggerprojectRelation', 'blogger_id'),

			'bloggersocialRelations' => array(self::HAS_MANY, 'BloggersocialRelation', 'blogger_id'),

			'bloggersurveyRelations' => array(self::HAS_MANY, 'BloggersurveyRelation', 'blogger_id'),

			'socialmedias' => array(self::HAS_MANY, 'Socialmedia', 'blogger_id'),




	 * @return array customized attribute labels (name=>label)


	public function attributeLabels()


		return array(

			'id' => 'ID',

			'contact_id' => 'Contact',

			'personal_id' => 'Personal',

			'blogger_name' => 'Blogger Name',

			'blog_name' => 'Blog Name',

			'email' => 'Email',

			'rating' => 'Rating',

			'city' => 'City',

			'state' => 'State',

			'country' => 'Country',

			'status' => 'Status',

			'contract_status' => 'Contract Status',

			'blog_url' => 'Blog Url',

			'about_me' => 'About Me',

			'image' => 'Image',




	 * Retrieves a list of models based on the current search/filter conditions.


	 * Typical usecase:

	 * - Initialize the model fields with values from filter form.

	 * - Execute this method to get CActiveDataProvider instance which will filter

	 * models according to data in model fields.

	 * - Pass data provider to CGridView, CListView or any similar widget.


	 * @return CActiveDataProvider the data provider that can return the models

	 * based on the search/filter conditions.


	public function search()


		// @todo Please modify the following code to remove attributes that should not be searched.

		$criteria=new CDbCriteria;
















		return new CActiveDataProvider($this, array(





	 * Returns the static model of the specified AR class.

	 * Please note that you should have this exact method in all your CActiveRecord descendants!

	 * @param string $className active record class name.

	 * @return Blogger the static model class


	public static function model($className=__CLASS__)


		return parent::model($className);



yes other tables arre related