English 中文(简体)
Self-Referential ManyToMany Convention in CakePHP
原标题:

I have an existing data model where I can rename things freely to match CakePHP s conventions. I have a type of graph node, where a node can have an arbitrary number of child nodes and an arbitrary number of parent nodes (uni-directional relationships).

Here s the table of nodes, following CakePHP s conventions:

Table: nodes
Column: node_id (INT)
Column: description (TEXT)

My question is what the join table should look like? Here is what it looks like now:

Table: nodes_nodes
Column: parent_node_id (INT)
Column: child_node_id (INT)

And what the documentation implies it should be:

Table: nodes_nodes
Column: node_id (INT)
Column: node_id (INT)

Notice that two column names are the same, which obviously won t work. What should these two columns be called? Or can CakePHP s conventions not handle this situation without configuration?

最佳回答

As neilcrookes noted, there are some articles on this on the web about doing this in CakePHP. Here is one of them, using User HABTM User (friends) as an example.

In that linked article, you can ignore everything after the User class definition if you aren t going to be paginating on the model.

问题回答

If a node has child nodes, do those child nodes automatically have the first node as a parent?

This relationship may be similar to a users to users relationship where the relationship symbolises the common friend notion in social networks. Suggest you have a google around for user/friend data models to see if that helps.





相关问题
what is wrong with this mysql code

$db_user="root"; $db_host="localhost"; $db_password="root"; $db_name = "fayer"; $conn = mysqli_connect($db_host,$db_user,$db_password,$db_name) or die ("couldn t connect to server"); // perform query ...

Users asking for denormalized database

I am in the early stages of developing a database-driven system and the largest part of the system revolves around an inheritance type of relationship. There is a parent entity with about 10 columns ...

Easiest way to deal with sample data in Java web apps?

I m writing a Java web app in my free time to learn more about development. I m using the Stripes framework and eventually intend to use hibernate and MySQL For the moment, whilst creating the pages ...

join across databases with nhibernate

I am trying to join two tables that reside in two different databases. Every time, I try to join I get the following error: An association from the table xxx refers to an unmapped class. If the ...

How can I know if such value exists in database? (ADO.NET)

For example, I have a table, and there is a column named Tags . I want to know if value programming exists in this column. How can I do this in ADO.NET? I did this: OleDbCommand cmd = new ...

Convert date to string upon saving a doctrine record

I m trying to migrate one of my PHP projects to Doctrine. I ve never used it before so there are a few things I don t understand. In my current code, I have a class similar to this: class ...

热门标签