Entity Wrapper возвращает пустые коллекции полей

Главные вкладки

Аватар пользователя Mr.Alinaki@drupal.org Mr.Alinaki@drup... 9 августа 2014 в 1:29

Есть документ "Поступление товаров" с коллекциями полей (тяжеловато, но что делать) для каждого элемента. Сохраняем, а через hook_node_presave копируем товары на склад. Начало обнадёживает:

...
$inflow = entity_metadata_wrapper('node', $inflow_node);
$warehouse = entity_metadata_wrapper('node', $inflow->field_warehouse->value());

Проверяем, есть ли вообще товары на складе и прочая бла-бла-бла. Переходим к переносу. И тут начинается прекрасное:
foreach($inflow->field_goods_collection->getIterator() as $delta => $fc)
не работает! Потому что значения пустые и никакого итератора, стало быть, нет!

При этом старый добрый не-объектный способ:
foreach($inflow_node->field_goods_collection[LANGUAGE_NONE] as $delta => $fc)
работает, как ни в чём не бывало.

Господа, как это понимать? Быть может, не стоило вообще выбирать для организации склада коллекции полей? Есть иные варианты?