CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘CategoryId’ in ‘where clause’
‘Daytrip’ Model:
public function relations() {
return array(
'rCity' => array(self::BELONGS_TO, 'City', 'CityId'),
'rCategory' => array(self::MANY_MANY, 'Category', 'DaytripCategory(DaytripId, CategoryId)',
'order' => 'CategoryId'
),
'rTag' => array(self::MANY_MANY, 'Tag', 'DaytripTag(DaytripId, TagId)',
'order' => 'Tag'
)
);
}
Controller:
public function actionTest() {
Daytrip::model()->mapToLatLon(100, 72);
$lat = Daytrip::model()->Latitude;
$lon = Daytrip::model()->Longitude;
$criteria=new CDbCriteria(array(
'condition'=>'Active = 1 AND rCategory.IdCategory IN (1,3,4)',
'order'=>'Distance ASC, Priority DESC, RAND()',
'with'=>array('rCity', 'rCategory', 'rTag' => array('order'=>'Tag')),
));
$dataProvider = new CActiveDataProvider('Daytrip', array(
'criteria'=>$criteria,
));
$this->render('test', array('data' => $dataProvider));
}
Database:
TABLE Daytrips FIELDS IdDaytrip, Daytrip, Street, Number, ZipCode, Website, Active
TABLE DaytripCategory FIELDS DaytripId, CategoryId
TABLE Categories FIELDS IdCategory, Category