Когда я пытаюсь получить данные из кода нескольких коллекций, он дает мне данные только из первой коллекции
т.е. коллекции являются project_0, project_1, project_2, project_3
for($i = 0; $i <= 3; $i++){
$dm->getClassMetadata('\Application\Document\Product')->setCollection('product_'. $i);
$record = $dm->getRepository('\Application\Document\Product')->findOneBy($condition);
print_r($record);
}
Я пытался очистить флеш, но заметил, что работает. Пожалуйста, дайте мне знать, как это сделать?
Выполнение кода выше сохранит информацию только из последней коллекции в $record
поскольку вы перезаписываете данные в каждой итерации.
Чтобы это исправить, вы можете создать массив, скажем, $records = array();
и затем в каждой итерации вы можете сделать что-то вроде этого:
array_push($records, $dm->getRepository('\Application\Document\Product')->findOneBy($condition));
После того, как вы закончите, у вас будут все данные в $records
, Надеюсь, это поможет.
Других решений пока нет …