Использую библиотеку
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?