我查看了cakephp的食谱网站,有四种类型的模型关系:
http://book.cakephp.org/view/79/Relationship-Types
因为我更熟悉的是belongsTo,
我不确定何时需要使用hasManay和HABTM。
如果我使用错误的模型关系类型,我的网站会有什么结果?
请指教。
答案 0 :(得分:2)
belongsTo
和hasMany
是一对,表达一对多的关系。一个模型属于另一个模型(即它有一个other_model_id
字段),而另一个模型的另一个模型在模型中有许多记录属于它。这是同一枚硬币的两面。
hasAndBelongsToMany
是Cake关于多对多关系的术语。关于这种关系的Here's a primer。当两个模型都拥有其他模型的许多时,您可以使用此方法,例如:人 - 人友情关系。两个模型之间的多对多关系需要三个表:model_a
,model_b
和model_a_model_b
。如果你试图在没有第三个表的情况下使用这种类型的关系,你可能只会遇到一堆错误。