Welcome to the Cookbook

loading...

6.4.4 Integridade de dados

Devido à natureza complexa da auto-estruturas de dados referenciais, como árvores e listas ligadas, podem, ocasionalmente, tornar-se quebrado por uma chamada descuidada. Coragem, nem tudo está perdido! O comportamento de cada árvore contém vários recursos não documentados anteriormente projetado para se recuperar de tais situações.

Estas funções que você pode economizar um bom tempo são:

recover(&$model, $mode = 'parent', $missingParentAction = null)

O parâmetro mode é usado para especificar a fonte de informação que é válido / correto. A fonte de dados oposto será preenchida com base em que fonte de informação. Por exemplo, se os campos MPTT são corruptos ou vazio, com o $mode 'parent' os valores do campo parent_id será usado para preencher os campos esquerdo e direito. O parâmetro missingParentAction só se aplica ao "parent" de modo que determina o que fazer se o campo pai contém um id que não está presente.

reorder(&$model, $options = array())

Reordena os nós (e nós filhos) da árvore de acordo com o campo e direção especificada nos parâmetros. Este método não altera o pai de qualquer nó.

O array de opções contém os valores 'id' => null, 'field' => $model->displayField, 'order' => 'ASC', e 'verify' => true, por padrão.

verify(&$model)

Retorna true se a árvore é válida caso contrário um array de (type, incorrect left/right index, message).