Tl;博士:(我宁愿学习捕鱼而不是喂鱼,但我很难自学CakePHP与5桌DB的关联)
所以,我正在与一个数据库人一起开展飞行搜索项目。他用适当的外键设计了数据库,我相信他做得很好,因为他在硅谷一家大公司的数据库工作。
我们在数据库中有这些表:
我可能应该在CakePHP中使用更简单的模式进行我的第一个项目,但这不是一个真正的选项:这里有什么正确的关联?
现在我有这个:
旅行有很多腿;在腿表中的foreignkey trip_id腿属于旅行;腿表中的外键trip_id
腿部有很多部分;分段表中的外键leg_id
就是这样。显然我需要更多来完全使用CakePHP(至少我是这么认为),我认为我受到了数据库设计的阻碍(不能保证我的朋友已经设计得最佳)。我只是不确定如何做机场和航空公司。
我花了几个小时谷歌搜索并重新阅读我正在使用的书。感谢您提供的任何帮助和GENERAL CakePHP-Association建议/想法。
答案 0 :(得分:2)
一般来说,保持你的协会双向。
这将允许您访问如下模型:
$this->Leg->Segment->create();
$this->Segment->Leg->create();
$this->Segment->Leg->Trip->create();
Leg和Segment也是如此。此外,CakePHP模型的命名约定规定它们是单数的。 :)