City Element Not Available In Dataprovider Result

I want to print the city in my view. I’m using the dataprovider in my controller which is using a query. The results are passed to the view. When i print (print_r($daytrips);) in the view I dont see any city names in the result.

What am I doing wrong?

Controller:




		$dataProvider=new CActiveDataProvider('Daytrip', array(

			'criteria'=>array(

				'select'=>array(

					'GeoDistKM(ci.latitude, ci.longitude, ' . $result['latitude'] . ', ' . $result['longitude'] . ') AS distance',

					't.id_daytrip',

					't.daytrip',

					't.description',

					't.street',

					't.number',

					't.website',

					't.youtube',

					't.deeplink',

					'ci.city',

					'GROUP_CONCAT(DISTINCT ta.tag ORDER BY ta.tag SEPARATOR ", ") AS concatTags',

				),

				'join'=>'LEFT JOIN city ci ON ci.id_city = city_id LEFT JOIN daytrip_tag dt ON id_daytrip = dt.daytrip_id

					LEFT JOIN tag ta ON ta.id_tag = dt.tag_id LEFT JOIN daytrip_category cf ON id_daytrip = cf.daytrip_id',

				'condition'=>'active = 1 AND cf.category_id IN (' . implode(',', $categories) . ')',

				'group'=>'id_daytrip',

				'order'=>'1, city, priority DESC, RAND(CURDATE())',

				'limit'=>100,

				'together'=>false,

				'with'=>array()

			),

			'pagination'=>false,

		));


		$dp = $dataProvider->getData();

		$last = $dp[sizeof($dp)-1];


		$this->render('results', array('daytrips' => $dp, 'selected' => $selected['categroies'], 'count' => sizeof($dp), 'radius' => $last->distance));



Query generated


Querying SQL: SELECT GeoDistKM(ci.latitude, ci.longitude, 52.353453656437,

4.921875) AS distance, t.id_daytrip, t.daytrip, t.description, t.street,

t.number, t.website, t.youtube, t.deeplink, ci.city, GROUP_CONCAT(DISTINCT

ta.tag ORDER BY ta.tag SEPARATOR ", ") AS concatTags FROM `daytrip` `t`

LEFT JOIN city ci ON ci.id_city = city_id LEFT JOIN daytrip_tag dt ON

id_daytrip = dt.daytrip_id

					LEFT JOIN tag ta ON ta.id_tag = dt.tag_id LEFT JOIN daytrip_category

cf ON id_daytrip = cf.daytrip_id WHERE active = 1 AND cf.category_id IN

(1,2,3,4,5,6) GROUP BY id_daytrip ORDER BY 1, city, priority DESC,

RAND(CURDATE()) LIMIT 100

in

/home/bas/projects/daytrip.dev/private_html/protected/controllers/SiteController.php

(147)

first…try to test your sql in a native way e.g. mysql workbench , phpmyadmin…

Probably your sql doesn’t find matching record in city join…