Począwszy od kolekcji, potrzebuję uzyskać tablicę wartości określonego pola. Proszę zadzwonić do tego pola my_id
.Magento Collection, jak uzyskać tablicę wartości określonego pola
Aby to zrobić, używam Varien_Data_Collection::setDataToAll()
na moim Collection..in ten sposób:
$collection_fields_array = $collection->setDataToAll(array('my_id'))->toArray(array('my_id'));
..what mogę uzyskać jest mniej więcej tak:
Array
(
[0] => Array
(
[my_id] => 71e1bd18
)
[1] => Array
(
[my_id] => 70d47a69
)
[2] => Array
(
[my_id] => 687bed84
)
[3] => Array
(
[my_id] => 673df159
)
[4] => Array
(
[my_id] => 66690a4c
)
[5] => Array
(
[my_id] => 65994440
)
)
But..if mój Kolekcja zawiera dużą liczbę pozycji. setDataToAll()
staje się zbyt czasochłonny i ostatecznie rozbija wszystkie 2 GB (!!!) pamięci ... dzieje się tak dlatego, że jest to iteracja między wszystkimi elementami.
Czy można uzyskać tablicę wartości pól bez tego obejścia?
Yes..this jest zbiorem wszystkich zamówień dla mnie. Co sugerujesz może być dobrym obejściem .. ale niestety nie mogę filtrować ich według daty .. Potrzebuję całego zestawu :( – Zoba82
Ale od razu? Nie możesz dostać jednego miesiąca, zapętlić się i zrobić cokolwiek, dostać następny miesiąc i zrobić cokolwiek, itp. Jeśli nie, czy mógłby Pan uaktualnić pytanie, aby wyjaśnić bardziej szczegółowo? Musi być jakiś sposób, żebyśmy to zrozumieli. – Mike