Csqldataprovider To Get The Data

Hi,

I am using CSqlDataProvider to retrieve data based on the following SQL query.


	$count=Yii::app()->db->createCommand('SELECT COUNT(*) FROM tba_tg_roomitems WHERE roomsoffer <>"" ')->queryScalar();			

			

			$sql= ' SELECT i.*, p.name AS placename, c.name AS countryname, t.name AS typenames,'

		         . ' r.title AS roomtitle, r.filename AS image, r.roomsoffer AS offers, r.nightsoffer AS nonights,'

					   . ' ('

					   . ' SELECT MIN( r.minprice )'

            		   . ' FROM tba_tg_roomrates AS r'

					   . ' LEFT JOIN tba_tg_roomitems AS ri ON ri.id = r.room_id'

				       . ' WHERE ri.hotel = i.id'

					   . ' )' 

				       . ' AS prices' 

				 . ' FROM tba_tg_hotelitems AS i'

				 . ' LEFT JOIN tba_tg_hoteltypes AS t ON t.id = i.hoteltypes'

				 . ' LEFT JOIN tba_tg_places AS p ON p.id = i.places'

				 . ' LEFT JOIN tba_tg_countries AS c ON c.id = i.country'

				 . ' LEFT JOIN tba_tg_roomitems AS r ON  r.hotel = i.id'

				 . ' WHERE p.published = 1'

				 . ' AND r.roomsoffer  >0'

				 ;

			$dataProvider=new CSqlDataProvider($sql, array(

				'totalItemCount'=>$count,

				'sort'=>array(

					'attributes'=>array(

						 'id', 

					),

				),

				'pagination'=>array(

					'pageSize'=>10,

				),

			));

			

            $dataDeals = $dataProvider->getData();

			 foreach($dataDeals as $item)  {    var_dump($item->title); }	 ?>

But when i try to dump var_dump($item->title); it returns NULL. Which applies to all others fields.

What could be wrong, with the way i am accessing it?

Thanks and regards

CSqlDataProvider returns records as arrays, not objects. Try using var_dump($item[‘title’]);

Works like Charm!. Thanks a lot. I really do love Yii! :D

How about setting up pagination. Can is use CLinkPager to display page numbers and nav’

Thanks