Undefined index when Convert Array to String

I have database table named SubjectTutor and Topic. I want to display topic list that has same school_id and subject_id. subject_id decoded from json. but i dont have school_id, so i want to take school_id from SubjectTutor table

I succeeded get school_id but still in array:

$school_id = array(
    (int) 0 => array(
        'SubjectTutor' => array(
            'school_id' => '452'
        )
    ),
    (int) 1 => array(
        'SubjectTutor' => array(
            'school_id' => '453'
        )
    ),
    (int) 2 => array(
        'SubjectTutor' => array(
            'school_id' => '454'
        )
    ),
    (int) 3 => array(
        'SubjectTutor' => array(
            'school_id' => '67'
        )
    )
)

The problem is : Undefined index: SubjectTutor on Line 4953

this is the WebServicesController.php:

$school_id = $this->SubjectTutor->find('all',array('fields'=>array('school_id'),'conditions'=>array('SubjectTutor.tutor_id'=>$tutor_id)));
//print_r($school_id);
$all_topics = $this->Topic->find('all',array('conditions'=>array('Topic.subject_id'=>$decoded['subject_id'],'Topic.school_id ='=>$school_id['SubjectTutor']['school_id']),'order'=>'Topic.name ASC'/* ,'limit'=>$limit,'offset'=>$offset */)); //this is line 4953

Which version of CakePHP are you using?

i have solved the problem by using foreach.

$school_id = $this->SubjectTutor->find('all',array('fields'=>array('school_id'),'conditions'=>array('SubjectTutor.tutor_id'=>$tutor_id)));
				foreach ($school_id as $key)
				{
				//print_r($value);
				$all_topics = $this->Topic->find('all',array('conditions'=>array('Topic.subject_id'=>$decoded['subject_id'],'Topic.school_id'=>$key['SubjectTutor']['school_id']),'order'=>'Topic.name ASC'/* ,'limit'=>$limit,'offset'=>$offset */));
				//print_r($key['SubjectTutor']['school_id']);
				}

but the new problem is: there is no topic displayed (but i already have at least one). please help

You should extract array $school_id to get a array only store school_id.
and then you can use array school_id for conditions in fetch data.
<?php

$school_id = array(
    (int) 0 => array(
        'SubjectTutor' => array(
            'school_id' => '452'
        )
    ),
    (int) 1 => array(
        'SubjectTutor' => array(
            'school_id' => '453'
        )
    ),
    (int) 2 => array(
        'SubjectTutor' => array(
            'school_id' => '454'
        )
    ),
    (int) 3 => array(
        'SubjectTutor' => array(
            'school_id' => '67'
        )
    )
);
$schools = [];
foreach($school_id as $value){
	array_push($schools, $value['SubjectTutor']);
}

$result = [];
foreach($schools as $value){
	array_push($result, $value['school_id']);
}

var_dump($result); // now you can use it for find.

Hi thanks for your help. i have tried but it stil not working. please help

foreach($school_id as $value){
array_push($schools, $value['SubjectTutor']);
}

$result = [];
foreach($schools as $value){
array_push($result, $value['school_id']);
}
//var_dump($result);
$all_topics = $this->Topic->find('all',array('conditions'=>array('Topic.subject_id'=>$decoded['subject_id'],'Topic.school_id' => $result),'order'=>'Topic.name ASC'/* ,'limit'=>$limit,'offset'=>$offset */));