при добавлении елементов в массив затираються предідущие значения

vano.mig

Новичок
Ребята, привет. Помогите найти детскую ошибку, а то уже извелся весь...
делаю календарь, при добавлении елементов в существующий массив затираются предідущий елементы
Код:
$client = Client::find()->asArray()->where(['<', 'status', 4])->all();
        $shedule = [];
        $shedule[room1] = [];
        $shedule[room2] = [];
        $shedule[room3] = [];
        if (!empty($client)) {
            foreach ($client as $model) {
                if (!array_key_exists('room' . $model['room'], $shedule)) {
                    $shedule['room' . $model['room']] = [];
                }

                if (!array_key_exists(date('d.m.Y', strtotime($model['date_begin'])), $shedule['room' . $model['room']])) {
                    $shedule['room' . $model['room']][date('d.m.Y', strtotime($model['date_begin']))] = ['reserved' => [], 'busy' => []];
                }
                $status = $model['status'] == 1 ? 'reserved' : 'busy';
                if (!array_key_exists($status, $shedule['room' . $model['room']][date('d.m.Y', strtotime($model['date_begin']))])) {
                    $shedule['room' . $model['room']][date('d.m.Y', strtotime($model['date_begin']))][$status] = [];
                }
                if (!in_array($model['time_begin'] . '-' . $model['time_end'], $shedule['room' . $model['room']][date('d.m.Y', strtotime($model['date_begin']))][$status])) {
                    $shedule['room' . $model['room']][date('d.m.Y', strtotime($model['date_begin']))][$status][] = $model['time_begin'] . '-' . $model['time_end'];
                }
                $lists = array();
                if (strtotime($model['date_begin']) != strtotime($model['date_end'])) {
                    
                    $lists = $this->createDate($model['date_begin'], $model['date_end']);
                    foreach ($lists as $value) {
                        if (!array_key_exists(value, $shedule['room' . $model['room']])) {
                            $shedule['room' . $model['room']][$value] = [];
                        }
                        if (!array_key_exists($status, $shedule['room' . $model['room']][$value])) {
                            $shedule['room' . $model['room']][$value]['reserved'] = [];
                            $shedule['room' . $model['room']][$value]['busy'] = [];
                        }
                        if (!in_array($model['time_begin'] . '-' . $model['time_end'], $shedule['room' . $model['room']][$value][$status])) {
                            
                            $shedule['room'.$model['room']][$value][$status][] = $model['time_begin'] . '-' . $model['time_end'];

                        }
                    }
                    unset($lists);
                }
            }
            echo "<pre>";print_r($shedule);die;

[/code}
 
Сверху