Я работаю над сайтом, на котором наши системные администраторы могут выбрать, выбирать ли для извлечения наши данные из mongodb или elasticsearch. Я могу настроить оба варианта, но я хочу настроить случай переключения, который выберет правильную систему поиска документов на основе предпочтения в разделе администратора сайтов. Когда Монго возвращает объект StdClass я могу перебирать объекта для печати каждого элемента, используя что-то вроде следующего:PHP - Iterable Object Issue
foreach($items as $item)
{
print_r($item);
}
Затем я могу затем получить общее количество возвращенных предметов с помощью $ изделия-> COUNT(). Однако при использовании elasticsearch я возвращал объект, в котором мне нужно идти:
foreach($items['hits']['hits'] as $item)
{
print_r($item);
}
Количества можно получить с помощью $ всевозможных [ «хитов»] [ «всего»]. Если я извлечу массив элементов (назовем его «$ finalitems» и счетчик (назовем его $ count) из возвращаемых данных elasticsearch, как я могу преобразовать это в объект stdClass, как то, что возвращает mongo, чтобы я мог напрямую выполнять итерацию через класс, чтобы получить значение каждого элемента, а также вызвать метод count(), который будет получать счетчик? Я хочу сделать это, чтобы я мог легко переключаться между двумя объектами данных без необходимости иметь полностью отдельные функции обработки одна и та же задача
Что такое вывод 'print_r ($ items);' во втором случае? Если вы получаете объект, возвращаемый, то запись массива вроде этого не будет работать. –