Некоторые примеры использования сеансов zf2:
Создание сеанса:
use Zend\Session\Container;
$session = new Container('base');
Убедитесь, что ключ существует в сеансе:
$session->offsetExists('email')
Получение значения из сеанса с помощью клавиша:
$email = $session->offsetGet('email');
Установка значения в сеансе:
$session->offsetSet('email', $email);
Сброс значения в сеансе:
$session->offsetUnset('email');
И другой простой способ использования сеанса:
$session = new Container('foo');
// это все эквивалентные средства для одного и того же конца
$session['bar'] = 'foobar';
$session->bar = 'foobar';
$session->offsetSet('bar', 'foobar');
Я не уверен, как это сделать с позиционным параметром, но если вы можете использовать именованные параметры вместо позиционных, то именованный параметр можно поместить в скобки и метод setParameterList из Query интерфейс можно использовать для привязки списка значений к этому параметру.
...
Query query = session.createQuery("FROM Cat c WHERE c.id IN (:ids)");
query.setParameterList("ids", listOfIds);
...