Используя CakePHP, я получаю многомерные массивы, и я не могу понять, почему иногда я могу получить к ним доступ с помощью ключа, а иногда нет. Например, у меня есть модель сотрудника со связанной информацией о заводе, и я обнаружил, что все правильно получает оба набора данных и сохраняет их в массиве. Информация сохраняется и доступна как $var['Emp']
и $var['Plant']
, когда я использую Emp->find('all')
Это дает хороший массив ключей, как это:
$Employee = Array(
[Plant] => Array(
[0] => Array(
[ID]...
Однако для некоторых сотрудников (администраторов) они не связаны со списками растений, поэтому вместо того, чтобы использовать их данные о связанных заводах, мне нужно дать им список всех периодов растений, поэтому я использую Plant->find('all')
. Проблема в том, что сгенерированный массив находится в странном формате, как показано ниже:
$plants = Array(
[0] => Array(
[Plant] => Array(
[ID] =>...
Так что я не могу получить доступ к $plants['Plant']
, и я не могу использовать массив верхнего уровня в качестве моего $Employee['Plant']
массива. Я знаю, что могу использовать foreach
и переписать массив $plants
, чтобы он соответствовал другому формату, но у меня есть целый сайт, который я конвертирую в функцию find('all')
торта, поэтому я хотел бы знать почему эта разница происходит, и как я могу получить доступ ко второму массиву по ключу.