gpt4 book ai didi

cakephp - 所有数据库表的模型类

转载 作者:行者123 更新时间:2023-12-02 21:45:02 26 4
gpt4 key购买 nike

CakePHP中的每个数据库表是否都需要有一个模型类?

每个模型类是否需要一个 Controller ?

最佳答案

Is it necessary to have model class for each database table in cakephp?

一般来说,是的。如果您希望从特定表中检索、修改或删除数据,那么 CakePHP 的方法是为该特定表创建一个模型并使用内置方法。异常(exception)情况是:

  • 连接表:如果连接表非常简单,则无需为其创建模型。
  • 如果由于某种原因您不想为一些表创建模型,而是使用另一个模型的查询功能来访问它们。

相反:您可以拥有没有表格的模型,这对于验证表单非常有用。我从来没有发现自己的模型数量少于我拥有的表数量(减去简单的联接表)。

Is it necessary to have one controller for each model class?

不,不是。虽然 MVC 模式规定每个模型应由其自己的 Controller 操作,但有时处理多个模型的单个 Controller 会使代码更简单。一个例子是拥有一个 User 模型,其中 hasOne ProfilehasMany Address 。您可以从 UsersController 操作所有 3 个模型:

class UsersController extends AppController {
var $uses = array('User', 'Profile', 'Address');

function edit_profile() {
...
}

function change_address() {
...
}
}

始终使用 MVC 作为指导原则。如果你偏离架构太多,事情很容易崩溃。然而,最终,干净、有组织且有效的代码才是最重要的。 :)

HTH。

关于cakephp - 所有数据库表的模型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com