Skip to content
World Wide Web Server edited this page Jul 4, 2012 · 25 revisions

Information about SQL trees: http://dev.e-taller.net/dbtree/

=> a bit of inspiration...

  • [url=http://pear.php.net/package/Tree]PEAR Tree Package[/url]

Category:Models::3rd Party

Modified Preorder Tree Traversal (or Nested Sets) tree model

To install, just unzip the file into your app dir. (you can delete the manual folder if you want, it isn't needed, neither is the custom loader (can be handy though)).
Load the model with $this->load->model(’MPTtree’), and then set the table name with $this->MPTtree->set_table(’tablename’)

Check the comments in file or the accompanying html manual on how to use the model.

Download


File:MPTtree_0_1_5.zip

Thread: http://codeigniter.com/forums/viewthread/72706/

Author

Martin Wernstahl

License

MPTtree is licensed under LGPL

Change Log

Version 0.1.5

Release Date: March 13, 2008

Introducing an ORM wrapper for MPTtree Added a MPTtreeIterator, to iterate over descendants in the tree Added a MPTtreeORMIterator, to iterate over descendants in the tree, returning ORM objects Added get_node_byid() Added an (optional) custom MY_Loader.php, to make it easier to have multiple instances at the same time (no need extending classes). Improved get_parent() Improved count_children(), not as much database traffic and counting is done in database Improved xpath(), more accurate (doesn't need xpath2() anymore) Changed the return values from the insert and move methods to return the new lft and rgt values instead of true. xpath() and xpath2() can now also accept an array as path (no need using separators)

Version 0.1.4

Release Date: February 26, 2008

Added a few methods to be used with Active Record, see Active Record helpers Added calls to db::protect_identifiers() in set_opts() and in set_table() Replaced the method xpath() with a much more efficient xpath variant. The old xpath() method have been renamed to path2(). HCG: Replaced use of transactions with locks

Version 0.1.2

Release Date: February 20, 2008

Added the method xpath() Remade set_opts() to accept an array with the parameters Added a sanitation of the data to update_node() and to the insert methods. This to prevent damage to the tree.

Version 0.1.1

Release Date: February 18, 2008

Added transaction support Added the method get_descendants_where() Added the method get_children_where() Changed algohrithm for get_children(), the new is almost twice as fast as the old one! Renamed some internal properties to address some conflicts with different CI libraries Changed name of get_decendants() to get_descendants(), a bad misspelling by me.

Version 0.1.0

Release Date: February 9, 2008

Initial Release

Thanks To:

Hamish Guthrie <hamish at prodigi dot ch> (Table locking)
Clone this wiki locally