Constants

LEFT_FIELDNAME

LEFT_FIELDNAME

Назва лівого поля алгоритму NestedSet

RIGHT_FIELDNAME

RIGHT_FIELDNAME

Назва правого поля алгоритму NestedSet

DEPTH_FIELDNAME

DEPTH_FIELDNAME

Назва поля, відповідаючого за глибину, алгоритму NestedSet

END_POSITION

END_POSITION

Properties

$dispatcher

$dispatcher : 

Type

$name

$name : string

Назва моделі до якої іде звязок

Type

string

$column

$column : string

Назва поля (стовпця) моделі від якої йде звязок.

Type

string

$refTable

$refTable : string

Назва проміжної моделі

Type

string

$refColumn

$refColumn : string

Назва поля (стовпця) моделі до якої йде звязок.

Type

string

$additionalParams

$additionalParams : mixed

Масив додаткових параметрів, які будуть враховуватись при вибірках по звязку

Type

mixed

$baseObject

$baseObject : \Bazalt\ORM\Record

Поточний об'єкт, з яким відбувається робота

Type

\Bazalt\ORM\Record

$error

$error : array

Cписок помилок виявлених після методу analyze

Type

array

$_position

$_position : integer

Внутрішній вказівник для Iterator

Type

integer

Methods

__construct()

__construct(string  $name, string  $column, string  $refColumn = null, string  $additionalParams = null) 

Constructor

Parameters

string $name

Назва моделі до якої іде звязок

string $column

Назва поля (стовпця) моделі від якої йде звязок

string $refColumn

Назва поля (стовпця) моделі до якої йде звязок

string $additionalParams

Масив додаткових параметрів, які будуть враховуватись при вибірках по звязку

getLogger()

getLogger() 

getQuery()

getQuery(integer  $depth = null) : \Bazalt\ORM\Relation\ORM_Query_Select

Генерує запит для вибірки зв'язаних об'єктів

Parameters

integer $depth

Вказує рівень вкладеності, по замовчуванню необмежено

Returns

\Bazalt\ORM\Relation\ORM_Query_Select

generateSql()

generateSql(\Bazalt\ORM\Record  $model) : string

Генерує Sql скрипт для звязку

Parameters

\Bazalt\ORM\Record $model

Модель до якої йде звязок

Returns

string

baseObject()

baseObject(\Bazalt\ORM\Record  $object = null) : void

Встановлює поточний об'єкт

Parameters

\Bazalt\ORM\Record $object

isManyResult()

isManyResult() : boolean

Визначає чи буде повертати обєкт звязку як результат звернення один обєкт чи колекцію

Returns

boolean

getAll()

getAll() : boolean

Повертає масив всіх звязаних з поточним обєктом записів з БД

Returns

boolean

initForModel()

initForModel(\Bazalt\ORM\Record  $model) : void

Викликається після створення зв'язку для ініціалізації моделі

Parameters

\Bazalt\ORM\Record $model

Об'єкт моделі

count()

count() : integer

Повертає к-сть записів

Returns

integer

rewind()

rewind() : void

Встановлює внутрішній вказівник на 0

current()

current() : mixed

Повертає поточний обєкт зі списку

Returns

mixed

key()

key() : integer

Повертає поточне значення внутрішнього вказівника

Returns

integer

next()

next() : void

Встановлює внутрішній вказівник на наступне значення

valid()

valid() : boolean

Перевіряє чи існує обєкт в масиві

Returns

boolean

dispatcher()

dispatcher() 

getLastErrors()

getLastErrors() : array

Повертає список помилок виявлених після методу analyze

Returns

array —

Список помилок

get()

get(integer  $depth = null) : array

Викликається при зверненні до об'єкту зв'язку і повертає масив дочірніх відносно до поточного обєктів

Parameters

integer $depth

Вказує рівень вкладеності, по замовчуванню необмежено

Returns

array

getParentDepth()

getParentDepth(integer  $depth) : array

Викликається при зверненні до об'єкту зв'язку і повертає масив дочірніх відносно до поточного обєктів

Parameters

integer $depth

Вказує рівень вкладеності, по замовчуванню необмежено

Returns

array

add()

add(\Bazalt\ORM\Record  $element) : \Bazalt\ORM\Record

Додає новий елемент

Parameters

\Bazalt\ORM\Record $element

об'єкт, який потрібно додати

Throws

\Bazalt\ORM\Relation\Exception

Returns

\Bazalt\ORM\Record

$element

insertBefore()

insertBefore(\Bazalt\ORM\Record  $element) : void

Вставляє $element перед елментом $this->baseObject

Parameters

\Bazalt\ORM\Record $element

Об'єкт, який потрібно вставити

Throws

\Bazalt\ORM\Relation\Exception

moveAfter()

moveAfter(\Bazalt\ORM\Record  $element, boolean  $clone = false) : boolean

Переміщує або копіює $element після елменту $this->baseObject

Parameters

\Bazalt\ORM\Record $element

Об'єкт, який потрібно перемістити/копіюівати

boolean $clone

Флаг, вказує перемістити чи копіюівати, по замовчуванню - перемістити

Returns

boolean —

Результат операції, якщо переміщення не вдалось (analyze повернув false) метод робить відкат змін

moveIn()

moveIn(\Bazalt\ORM\Record  $element, boolean  $clone = false) : boolean

Переміщує або копіює $element в елментом $this->baseObject, тобто робить $element його нащадком

Parameters

\Bazalt\ORM\Record $element

Об'єкт, який потрібно перемістити/копіюівати

boolean $clone

Флаг, вказує перемістити чи копіюівати, по замовчуванню - перемістити

Returns

boolean —

Результат операції, якщо переміщення не вдалось (analyze повернув false) метод робить відкат змін

analyze()

analyze() : boolean

Проводить аналіз цілісності данних, записує помилки в self::$error

Returns

boolean

insertAfter()

insertAfter(\Bazalt\ORM\Record  $element) : \Bazalt\ORM\Record

Вставляє $element після елменту $this->baseObject

Parameters

\Bazalt\ORM\Record $element

Об'єкт, який потрібно вставити

Throws

\Bazalt\ORM\Relation\Exception

Returns

\Bazalt\ORM\Record

insert()

insert(\Bazalt\ORM\Record  $element, integer  $pos) : \Bazalt\ORM\Record

Вставляє $element після заданої позиції $pos

Parameters

\Bazalt\ORM\Record $element

Об'єкт, який потрібно вставити

integer $pos

Позиція елемента, після якого необхідно вставити

Throws

\Bazalt\ORM\Relation\Exception

Returns

\Bazalt\ORM\Record

$element

remove()

remove(\Bazalt\ORM\Record  $elem, boolean  $onlyParent = false) : void

Видаляє $elem

Parameters

\Bazalt\ORM\Record $elem

Об'єкт, який потрібно видалити

boolean $onlyParent

Флаг, вказує видаляти рекурсивно чи тільки заданий об'єкт

Throws

\Bazalt\ORM\Relation\Exception

removeAll()

removeAll() : void

Видаляє всіх нащадків

getChildrenCount()

getChildrenCount() : integer

Повертає к-ть елментів-нащадків

Returns

integer

getParent()

getParent() : \Bazalt\ORM\Record

Повертає батьківський елемент

Returns

\Bazalt\ORM\Record

getRoot()

getRoot() : \Bazalt\ORM\Record

Повертає кореневий елемент

Returns

\Bazalt\ORM\Record

getById()

getById(integer  $id) : \Bazalt\ORM\Record

Повертає елемент по $id в рамках його ієрархії (тобто поля $this->column)

Parameters

integer $id

id

Returns

\Bazalt\ORM\Record

getPath()

getPath() : array<mixed,\Bazalt\ORM\Record>

Повертає "шлях" - список елементів від поточного до кореневого

Returns

array<mixed,\Bazalt\ORM\Record>

getLevel()

getLevel() : integer

Повертає рівень вкладеності поточного об'єкта відносно кореня

Returns

integer

getTree()

getTree(integer  $left = null, integer  $right = null) : array

Повертає ієрархічний масив нащадків відносно $this->baseObject або відносно, $left і $right якщо вони задані

Parameters

integer $left

Ліва межа

integer $right

Права межа

Returns

array

makeTree()

makeTree(\Bazalt\ORM\Collection  $collection) : array

Генерує з колекції масив, який повторює ієрархію NestedSet з БД

Parameters

\Bazalt\ORM\Collection $collection

Вибірка данних

Returns

array

has()

has(\Bazalt\ORM\Record  $item) : boolean

Перевіряє чи існує зв'язок між поточним обєктом та обєктом $item

Parameters

\Bazalt\ORM\Record $item

об'єкт, який потрібно перевірити

Returns

boolean

checkType()

checkType(\Bazalt\ORM\Record  $item) : void

Перевіряє чи відповідає тип об'єкта з яким працюють методи add,remove,has типу який задано в зв'язку

Parameters

\Bazalt\ORM\Record $item

Об'єкт, який потрібно перевірити

applyAddParams()

applyAddParams(\Bazalt\ORM\Relation\ORM_Query  $q) : void

Додає додаткові пармаетри звязку з $this->additionalParams до вибірки

Parameters

\Bazalt\ORM\Relation\ORM_Query $q

Запит вибірки

getRecordById()

getRecordById(integer  $id, string  $className) : \Bazalt\ORM\Record

Повертає елемент по $id

Parameters

integer $id

id

string $className

Клас моделі

Throws

\Bazalt\ORM\Relation\InvalidArgumentException

Returns

\Bazalt\ORM\Record

getPathQuery()

getPathQuery() : \Bazalt\ORM\Query

Генерує запит, який вибере список елементів від поточного до кореневого, тобто "шлях"

Returns

\Bazalt\ORM\Query

addChildrenToModel()

addChildrenToModel(\Bazalt\ORM\Record  $model, \Bazalt\ORM\Record  $children) : void

Додає до масиву нащадків Childrens ще один об'єкт-нащадок $children

Parameters

\Bazalt\ORM\Record $model

Основний об'єкт

\Bazalt\ORM\Record $children

Об'єкт-нащадок