2010-11-23 39 views
0

铊;博士:(我宁愿学人以鱼不如可以投喂鱼,但我有麻烦教我用5台DB CakePHP的关联)协会帮助CakePHP-航班搜索示例

所以,我与数据库人员一起在一个航班搜索项目上工作。他设计了相应的外键的数据库,我相信他已经做了很好的工作,因为他与数据库工作在一个大硅谷有限公司..

我们已经得到了数据库中的这些表:

  1. 旅程
  2. 段(A段是一个腿的一部分和跳闸包含多个腿)
  3. 机场
  4. 航空公司

我应该在CakePHP中用一个更简单的模式来完成我的第一个项目,但这不是一个真正的选项:这里有什么正确的关联?

现在我有这个:

旅行有很多腿; foreignkey trip_id腿表

腿属于旅行;外键trip_id在腿表中

腿有许多段;段中的外键leg_id表

就是这样。很明显,我需要更多地充分利用CakePHP(至少我这么认为),并且我认为我受到数据库设计的阻碍(并不保证我的朋友已经设计了最佳)。我只是不知道如何去做机场和航空公司。

我花了几个小时在Google上搜索并重新阅读我正在使用的书。感谢您的帮助和一般CakePHP协会建议/想法。

回答

2

一般来说,保持你的关联双向。

  • 旅行的hasMany腿
  • 腿属于关联旅行
  • 腿的hasMany段
  • 段属于关联腿

这将允许您访问的模型,像这样:

$this->Leg->Segment->create(); 
$this->Segment->Leg->create(); 
$this->Segment->Leg->Trip->create(); 

腿和段也一样。此外,CakePHP模型的命名约定规定它们是单数的。 :)