Я работаю над получением стека данных, и по какой-то причине некоторые данные повреждены. Например, у меня есть несколько моделей сообщений, каждая из которых связана с моделями комментариев (hasMany), и каждая из моделей комментариев принадлежит пользователю. При получении данных вот что я получаю из базы данных для комментариев:
[Post] => Array
(
)
[Comments] => Array
(
[0] => Array
(
[content] => "2010 has definitely been a busy year!"
[created] => 2010-02-10 13:47:15
[user_id] => 18
[post_id] => 1
[User] => Array
(
[id] => U8
[username] => Uace
[first_name] => Uace
)
[_explicitType] => Comment
)
[0] => Array
(
[content] => "I can't wait..."
[created] => 2009-12-10 13:57:36
[user_id] => 18
[post_id] => 1
[User] => Array
(
[id] => U8
[username] => Uace
[first_name] => Uace
)
[_explicitType] => Comment
)
)
Первый символ каждого из массивов Comments [i] [User] был заменен на заглавную U, хотя в каждом случае он должен отличаться (например, ID 18, имя пользователя Jace и т. Д.).
Я проследил это до манипуляций с массивами, с которыми работал, чтобы назначить поле _explicitType для взаимодействия Flex (спасибо, Павел Мисиор!) В функции afterFind (). Вот цикл, в котором я застрял в _explicitType:
if (is_array($results)) {
foreach ( $results as &$item )
{
$item['_explicitType'] = $this->name;
}
} else {
$item[$this->name]['_explicitType'] = $this->name;
}
Я предполагаю, что это связано с заданием по ссылке, но я не могу понять, почему это происходит.