cakephp-2.0 > TreeBehavior :: recover()
TreeBehavior
A
AbstractTransport
AclBehavior
AclComponent
AclInterface
AclNode
AclShell
Aco
AcoAction
ActionsAuthorize
ApcEngine
ApiShell
App
AppController
AppController
AppHelper
AppHelper
AppModel
AppModel
AppShell
Aro
AuthComponent
B
BadRequestException
BakeShell
BakeTask
BaseAuthenticate
BaseAuthorize
BasicAuthenticate
BasicAuthentication
BehaviorCollection
C
Cache
CacheEngine
CacheException
CacheHelper
CacheSession
CakeEmail
CakeErrorController
CakeException
CakeLog
CakeLogException
CakeLogInterface
CakePlugin
CakeRequest
CakeResponse
CakeRoute
CakeSchema
CakeSession
CakeSessionException
CakeSessionHandlerInterface
CakeSocket
ClassRegistry
CommandListShell
Component
ComponentCollection
ConfigReaderInterface
Configure
ConfigureException
ConnectionManager
ConsoleErrorHandler
ConsoleException
ConsoleInput
ConsoleInputArgument
ConsoleInputOption
ConsoleInputSubcommand
ConsoleOptionParser
ConsoleOutput
ConsoleShell
ContainableBehavior
Controller
ControllerAuthorize
ControllerTask
CookieComponent
CrudAuthorize
D
DatabaseSession
DataSource
DbAcl
DbAclSchema
DbConfigTask
DboSource
Debugger
DebugTransport
DigestAuthenticate
DigestAuthentication
Dispatcher
E
EmailComponent
ErrorHandler
ExceptionRenderer
ExtractTask
F
File
FileEngine
FileLog
FixtureTask
Folder
ForbiddenException
FormAuthenticate
FormHelper
H
Helper
HelperCollection
HelpFormatter
HtmlHelper
HttpException
HttpResponse
HttpSocket
I
I18n
I18nModel
i18nSchema
I18nShell
Inflector
IniReader
InternalErrorException
J
JqueryEngineHelper
JsBaseEngineHelper
JsHelper
L
L10n
M
MailTransport
MediaView
MemcacheEngine
MethodNotAllowedException
MissingActionException
MissingBehaviorException
MissingComponentException
MissingConnectionException
MissingControllerException
MissingDatabaseException
MissingDatasourceConfigException
MissingDatasourceException
MissingHelperException
MissingLayoutException
MissingModelException
MissingPluginException
MissingShellException
MissingShellMethodException
MissingTableException
MissingTaskException
MissingTestLoaderException
MissingViewException
Model
ModelBehavior
ModelTask
MootoolsEngineHelper
Multibyte
Mysql
N
NotFoundException
NumberHelper
O
Object
ObjectCollection
P
PagesController
PagesController
PaginatorComponent
PaginatorHelper
Permission
PhpReader
PluginShortRoute
PluginTask
Postgres
PrivateActionException
ProjectTask
PrototypeEngineHelper
R
RedirectRoute
RequestHandlerComponent
Router
RouterException
RssHelper
S
Sanitize
Scaffold
ScaffoldView
SchemaShell
Security
SecurityComponent
SessionComponent
SessionHelper
SessionsSchema
Set
Shell
ShellDispatcher
SmtpTransport
SocketException
Sqlite
Sqlserver
String
T
TaskCollection
TemplateTask
TestsuiteShell
TestTask
TextHelper
ThemeView
TimeHelper
TranslateBehavior
TreeBehavior
U
UnauthorizedException
UpgradeShell
V
Validation
View
ViewTask
W
WincacheEngine
X
XcacheEngine
Xml
XmlException
recover
Recover a corrupted tree
Method
(boolean)
public recover
($Model, $mode = 'parent', $missingParentAction = null)
Parameters
Parameter | Type | Comment | Default |
---|---|---|---|
$Model | Model | required Model instance | |
$mode | string | optional parent or tree | 'parent' |
$missingParentAction | mixed | optional 'return' to do nothing and return, 'delete' to delete, or the id of the parent to set as the parent_id | null |
Return
booleanComment
Recover a corrupted tree
The mode parameter is used to specify the source of info that is valid/correct. The opposite source of data
will be populated based upon that source of info. E.g. if the MPTT fields are corrupt or empty, with the $mode
'parent' the values of the parent_id field will be used to populate the left and right fields. The missingParentAction
parameter only applies to "parent" mode and determines what to do if the parent field contains an id that is not present.
@todo Could be written to be faster, *maybe*. Ideally using a subquery and putting all the logic burden on the DB.
@param Model $Model Model instance
@param string $mode parent or tree
@param mixed $missingParentAction 'return' to do nothing and return, 'delete' to
delete, or the id of the parent to set as the parent_id
@return boolean true on success, false on failure
@link http://book.cakephp.org/2.0/en/core-libraries/behaviors/tree.html#TreeBehavior::recover
The mode parameter is used to specify the source of info that is valid/correct. The opposite source of data
will be populated based upon that source of info. E.g. if the MPTT fields are corrupt or empty, with the $mode
'parent' the values of the parent_id field will be used to populate the left and right fields. The missingParentAction
parameter only applies to "parent" mode and determines what to do if the parent field contains an id that is not present.
@todo Could be written to be faster, *maybe*. Ideally using a subquery and putting all the logic burden on the DB.
@param Model $Model Model instance
@param string $mode parent or tree
@param mixed $missingParentAction 'return' to do nothing and return, 'delete' to
delete, or the id of the parent to set as the parent_id
@return boolean true on success, false on failure
@link http://book.cakephp.org/2.0/en/core-libraries/behaviors/tree.html#TreeBehavior::recover