【问题标题】:CakePHP need advice on organizing modelsCakePHP 需要关于组织模型的建议
【发布时间】:2012-09-09 14:09:45
【问题描述】:

我正在开发一个类似“黄页”的网站,其数据库比我以前经历过的更复杂。

例如: 该数据库有 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 的模型/模型(我需要多少个?)示例,并且能够检索这些数据,我会很高兴。

【问题讨论】:

    标签: php mysql cakephp database-design


    【解决方案1】:

    我无法评论你的问题,所以我会在这里问...

    组织可以有很多服务,而服务可以有很多组织?是HABTM 关系吗? (只是检查...)

    如果是,我将对其进行编辑并尝试为您提供答案。 :)

    编辑:

    表格

    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 您可以获得更多信息。

    【讨论】:

    • 是的,组织可以提供很多服务,服务可以有很多组织。
    • 好的...给我几分钟... :)
    • 感谢您的回答。但我只能明天测试它,所以如果出现问题,我会征求你的意见:)。
    • 没问题。你可以在这里问我,或者你可以给我发一封电子邮件,在我的个人资料中提供。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多