Использование своего подключение к базе данных (connection) при работе с ActiveRecord

Большинство методов класса lmbActiveRecord принимают опциональным параметром объект подключения к базе данных. Мы сознательно в документации опустили этот параметр в описаниях метода, так как необходимость работать с особым подключение, а не с тем, что есть по-умолчанию, появляется относительно редко.

см. также Подключение к базе данных в разделе документации пакета DBAL.

Итак, объект подключения можно передать:

  $document = new Document($document_id, $my_connection);

При этом объект подключения будет использовать для всех выборок внутри этого объекта, например, передаваться в связанные объекты, загруженные через этот объект, например:

  $author = $document->getAuthor(); // $author будет закружен также при помощи $my_connection.
  $documents = lmbActiveRecord :: find('Document', 'section_id = ' . $section_id, $my_connection);
  $document = lmbActiveRecord :: findFirst('Document', array(), $my_connection);
  $sql = 'SELECT document.* FROM document ...';
  $my_documents = lmbActiveRecord :: findBySql('Document', $sql, $my_connection);
  // и т.д.
  lmbActive :: setDefaultConnection($my_connection);
  $document = new Document($document_id); // получит $my_connection

При использовании этого метода все объекты ActiveRecord будут использовать именно это подключение, если им не передано другое в конструктор.