@voiceofnoise

Как правильно отфильтровать такой элемент?

Использую библиотеку PhpZabbixApi
В API у методов есть параметр filter.
Возвращать только те результаты, которые в точности совпадают с заданным фильтром.
Принимает массив, где ключи являются именами свойств и значения, либо одно значение, либо массив значений соответствий.
Не работает с text полями.

У меня почему-то работает не во всех случаях.
Например так работает как и ожидалось:
$maps = $api->mapGet(array(
            'output' => array('sysmapid', 'name'),
            'selectSelements' => array('elementid'),
            'filter' => array('sysmapid' => '2')));
echo (serialize($maps));

Получаю
array (
  0 => 
  stdClass::__set_state(array(
     'sysmapid' => '2',
     'name' => 'Local network',
     'selements' => 
    array (
      0 => 
      stdClass::__set_state(array(
         'elementid' => '10017',
      )),
      1 => 
      stdClass::__set_state(array(
         'elementid' => '0',
      )),
    ),
  )),
)

А когда пытаюсь точно так же фильтровать по elementid, то фильтр игнорируется: $maps =
$api->mapGet(array(
            'output' => array('sysmapid', 'name'),
            'selectSelements' => array('elementid'),
            'filter' => array('elementid' => '10017')));

Как отфильтровать по elementid?
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы