我正在开发一个类似“黄页”的网站,其中包含比之前更复杂的数据库。
例如: 这个DB有3个表: 1.组织 - 提供一些一般信息。 2.服务 - 包含可提供的所有服务的列表。 3.关系表。
组织表格结构:
id name city phone etc.
1 CompanyName Farewell 987-65-43
服务表结构:
id ServiceType
1 purchase
-----
2 sale
-----
3 exchange
等。 你明白了
关系表结构:
id OrganisationID ServId
1 1 2
----
2 1 3
----
3 1 6
----
4 2 3
在网站输出中,我需要一份包含所有服务的组织的列表。
我无法完全理解(甚至在阅读了CookBook中的Linking Models Together部分之后)我应该如何使用Cake的语法和约定来组合所有这些表。
如果有人能为我提供Cake的模型/模型(我需要多少?),我会很高兴能够检索这些数据。
答案 0 :(得分:4)
我不能对你的问题发表评论,所以我会在这里问...
组织可以拥有许多服务和服务可以有很多组织吗?是HABTM
关系吗? (只是检查......)
如果是,我会编辑这个并尝试给你答案。 :)
编辑:
<强> TABLES 强>
1. table: organisations
2. table: services
3. table: organisations_services (sorted alphabetically)
1. table: id, name, city...
2. table: id, service_type
3. table: id, organisation_id, service_id (singular, sorted alphabetically)
<强>模型强>
组织 - 在您的组织模型中,您必须拥有:
var $hasAndBelongsToMany = array('Service');
服务 - 在您的服务模式中,您必须拥有:
var $hasAndBelongsToMany = array('Organisation');
就是这样。其他一切都留给美丽的蛋糕。 :)如果您不理解某些内容,请随时提问here您可以获得更多信息。