是否有必要为每张桌子设置一个模型?

时间:2015-11-28 10:28:54

标签: php cakephp model-view-controller models cakephp-3.0

我对ORM有些困惑,更具体地说是CakePHP。我一直在使用CakePHP一段时间,并发现它在很多方面都非常强大,即使用模型从数据库中检索。

我有以下表格:

Stores:
 id 
 store_name

Products:
 id
 product_name

Product_variants:
 id
 product_variant_id

product_to_stores
 store_id
 product_variant_id

每张桌子都必须有模型吗?

1 个答案:

答案 0 :(得分:4)

CakePHP 3.x Cookbook提及以下内容:

  

如果不能,CakePHP将为您动态创建一个模型对象   在src / Model / Table中找到相应的文件。

同样适用于实体,如documentation

中所述
  

如果没有定义实体类,CakePHP将使用基本的实体类

这意味着您基本上可以在不编写单个类的情况下开始(前提是您遵循惯例)。

只需实现应用程序工作所需的模型文件,并添加关联,验证规则,自定义方法等内容。

同样,您必须遵循CakePHP conventions。遵守约定的次数越多,所需的配置就越少。

关于您是否需要将 productvariants_stores 作为单独的表格的问题,如果您按如下方式设置数据模型,则答案为否:

enter image description here

然后,您可以通过在ORM级别设置正确的关系来获取链接到商店 productvariants