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).


























