Hi there,
I’m a newcomer in the Yii society. But back to the problem. I’m trying to encode a relational model into json data.
Here is a relation declaration:
'weekdays' => array(self::HAS_MANY, 'StudentAvabilityWeekdays', array('avability_id'=>'id'), 'select'=>'week_day, begin_time1, end_time1'),
That’s how I’m trying to query database:
$criteria=new CDbCriteria();
$criteria->addInCondition('student_id',array(intval($id)));
$criteria->addCondition('end_date=(SELECT MAX(end_date) FROM t_student_avability WHERE student_id=:ycp0)');
$criteria->select = array('begin_date', 'end_date');
$model = StudentAvability::model();
$data = $model->with('weekdays')->findAll($criteria);
$weekDays = array();
if($data !== NULL) {
foreach($data as $obj)
$weekDays[] = $obj->weekdays;
}
echo CJSON::encode($weekDays);
And that’s what I get:
[[{"week_day":"0","begin_time1":"10:00:00","end_time1":"18:00:00","id":"2171","avability_id":null,"is_time1":null,"is_time2":null,"begin_time2":null,"end_time2":null,"create_datetime":null,"update_datetime":null,"is_deleted":null},{"week_day":"1","begin_time1":"10:00:00","end_time1":"18:00:00","id":"2172","avability_id":null,"is_time1":null,"is_time2":null,"begin_time2":null,"end_time2":null,"create_datetime":null,"update_datetime":null,"is_deleted":null},{"week_day":"2","begin_time1":"10:00:00","end_time1":"18:00:00","id":"2173","avability_id":null,"is_time1":null,"is_time2":null,"begin_time2":null,"end_time2":null,"create_datetime":null,"update_datetime":null,"is_deleted":null},{"week_day":"3","begin_time1":"10:00:00","end_time1":"18:00:00","id":"2174","avability_id":null,"is_time1":null,"is_time2":null,"begin_time2":null,"end_time2":null,"create_datetime":null,"update_datetime":null,"is_deleted":null},{"week_day":"4","begin_time1":"10:00:00","end_time1":"18:00:00","id":"2175","avability_id":null,"is_time1":null,"is_time2":null,"begin_time2":null,"end_time2":null,"create_datetime":null,"update_datetime":null,"is_deleted":null},{"week_day":"5","begin_time1":"10:00:00","end_time1":"20:00:00","id":"2176","avability_id":null,"is_time1":null,"is_time2":null,"begin_time2":null,"end_time2":null,"create_datetime":null,"update_datetime":null,"is_deleted":null},{"week_day":"6","begin_time1":"10:00:00","end_time1":"20:00:00","id":"2177","avability_id":null,"is_time1":null,"is_time2":null,"begin_time2":null,"end_time2":null,"create_datetime":null,"update_datetime":null,"is_deleted":null}]]
As you can see there are empty columns with null values which I want to filter from the result. What is propper technique to accomplish this task?