2011-12-08 35 views
0

我正在写一个应用程序,显示住房单位(他们列出了用户提供他们出租)。我想弄清楚如何在Cakephp中定义我的单元模型。我有三个表:单位,综合体和用户。加入两个以上的表cakephp

我知道单位$ belongsTo'用户',但它也属于'复杂',因为每个复合体可以有很多单位。我可以写这个吗?

<?php 
    class Unit extends AppModel { 
     var $name='Unit'; 
     var $belongsTo=array('User', 'Complex'); 

} ?>

我还要补充一点,我不知道如何定义我的类用户和复杂的,因为用户可以有很多配合和复杂的可以有很多用户。如果一个人有许多,它也可以归属于它所拥有的许多东西?这是一个HABTM吗?我很困惑(新手)。

回答

0

声音就像一个用户有很多复合体,一个复合体属于许多用户。 这是一个HABTM。

用户可以有许多单位,但一个单位只能有一个用户。这是一个hasMany和一个belongsTo。

现在,对于单位和复合体之间的关系,如果一个复合体可以有许多单位,那么这是一个hasMany。我想这是事实。我也猜测一个单位属于一个复合体以及一个用户。这可以。单位可以属于用户和复合体,无需问题或需要HABTM。

所以我为你定义你的关系上面。看起来好像你已经知道如何定义hasMany和belongsTo了,所以只要确保你按照这个页面的描述设置了HABTM:(记住你需要在你的数据库中有一个额外的表,并且不要忘记添加任何db其他关系需要的列也是)。

http://book.cakephp.org/view/1044/hasAndBelongsToMany-HABTM

好运。

+0

谢谢你的回答。我只想说,虽然用户可以有很多单位,但每个单位只能有一个用户。所以我会说这不是一种习惯,我是否正确? – huzzah

+0

这是正确的。我已经更新了我的答案以反映这一点。如果您发现我的答案有帮助,请考虑将其标记为答案(选票左侧的复选框)。 – swiecki