问题标签 [cakephp-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1496 浏览

php - 创建一个“编辑配置文件”操作 CakePHP 2.0?

我遇到了 CakePHP 2.0.2 的问题。我想创建一个“编辑配置文件”操作。这是我的控制器操作:

这是我的观点:

但是,当我提交表单时,似乎什么也没发生。我没有收到成功消息,也没有收到错误消息。如果我将 else 语句添加到补码if ($this->User->save($this->request->data)),则执行该代码块,表明User模型数据未保存。

我哪里错了?

0 投票
2 回答
142 浏览

cakephp - 在 CakePHP 中执行简单的查找操作

使用 CakePHP,我需要检索一个基本的记录列表。没有连接或特殊的 CakePHP 结果格式,只有以下数据格式的基本记录数组:

使用蛋糕模型最简单的方法是什么?

0 投票
2 回答
45 浏览

php - 如何从链接模型中检索字段

我有以下三个数据库表:

在我的Product模型中,如何创建返回产品的方法title以及艺术家的产品first_name

我已经建立了以下模型关联:

0 投票
2 回答
91 浏览

php - 将模型链接在一起

我在数据库中有以下三个表:

每个艺术家可以有许多产品。

每个艺术家只有一个人。

每个产品只有一位艺术家。

在这三个表的模型之间建立的正确关联是什么?

0 投票
1 回答
951 浏览

cakephp - CakePHP 可包含的行为未按预期工作

我有以下数据库表:

具有以下模型关联:

我已将三个模型中的每一个都设置为使用 Containable 行为:

当我使用以下内容获取产品详细信息以及艺术家姓名时:

我收到警告:

而且我只得到产品详细信息,即没有艺术家的名字。为什么会这样?

0 投票
3 回答
105 浏览

php - 使用 Containable 查找具有深度关联的条件

我有以下三个模型Product,,,OrderOrderDetail

Product有以下关联:

Order有以下关联:

OrderDetail具有以下关联:

我正在使用这种Containable行为并想要find()产品。

如何Order在 find() 调用的条件部分使用模型中的字段?

在我的Product模型中是这样的:

0 投票
3 回答
113 浏览

php - MVC 模型,它们有什么用?

是时候让我了解 MVC,这就是我想要做的;而且我很难理解模型应该做什么。根据Wikipedia,一个模型:

模型管理应用程序域的行为和数据,响应有关其状态信息的请求(通常来自视图),并响应更改状态的指令(通常来自控制器)。在事件驱动系统中,模型会在信息发生变化时通知观察者(通常是视图),以便他们做出反应。

在 CakePHP 中,您应该以这种非常简单的方式设置模型:

因此,例如,如果我想要数据库中的最后 10 个帖子,我将创建一个如下所示的控制器:

这个人会将一个名为的变量传递posts给我的视图,然后它会相应地渲染它。问题是,我的模型不应该做其他事情吗?因为如果它像这样简单,那么自定义模型根本没有意义,我的意思是,它只是模型类的一个空扩展。

0 投票
2 回答
68 浏览

validation - 从视图中的另一个模型形成

所以我试图扩展博客教程添加一些评论:

我想在与“帖子视图”相同的视图中显示添加评论表单。事情是我不知道获得这种方法的最佳方法。我想了三个办法:

  • 在 Comments Controller 中创建一个函数来处理数据。
  • 在 Post Controller 中创建一个函数来处理数据。
  • 在处理帖子视图的同一函数中处理数据。

前两个“解决方案”的主要问题是验证错误不会出现在表单中,除非我在会话变量中保存无效字段,然后在 beforeFilter 回调中解析变量,像这样:

我基本上所做的是将无效字段调整为实际视图并使其正确显示。这真的很好用,但对我来说似乎很难看。最好的方法是什么?

另一个相关问题:控制器应该反映视图吗?我的意思是在那个例子中,我考虑只有一个评论模型并处理控制器中的所有数据,其中添加评论的表单(即使它在 Post Controller 中)。

0 投票
2 回答
144 浏览

cakephp - 如何在胖模型的多个条件下保持代码 DRY?

虽然我正在使用 CakePHP,但我认为这个问题适用于任何 MVC 框架。

考虑以下:

  • A型

    /li>
  • B型

    /li>
  • 模型 C(A 和 B 之间的连接模型)

    /li>

是否有任何既定的方法来处理这种情况而不必在连接模型中创建三个单独的方法?感觉很像是应该在这里应用装饰器模式,但我不知道该怎么做。

也许我只是看错了问题。

0 投票
7 回答
1569 浏览

php - CakePHP Containable:加载太多关系?

我是 cakephp 的可包含元素的忠实粉丝,因为我一直认为它会处理适当的附加模型的加载。但在最后几天,我深入挖掘并发现,确实存在内存问题。

考虑以下模型结构:

  • 项目有很多墙
  • 项目有很多参与者
  • 墙上有很多帖子
  • 帖子有很多评论
  • 参与者有很多帖子
  • 参与者有很多评论
  • 参与者属于用户
  • 参与者属于项目

反之亦然

  • 帖子属于参与者
  • 帖子属于墙
  • 评论属于参与者
  • 评论属于帖子
  • 用户有很多参与者

在墙控制器中,我有以下查找语句:

我希望 cakephp 会找到所有帖子并仅包含相应的参与者对象。但是,我得到的是所有帖子(正确)及其参与者(正确)的列表,以及相应的墙(不正确)和相应的评论(如果有)(不正确)。所以从性能的角度来看:太多的对象,这可能导致“致命错误 - 内存过载”。

对于理论上真正性感和有趣的部分:

因为我只对 Post & Participant.User对象感兴趣,所以我将包含数组更改为 Participant.User。但是,再一次,现在我不仅获得了 User 对象,还获得了 Participant 的所有其他相关对象(项目、帖子、评论……),并且对象树比以前大得多。

所以我想知道,实现这个的正确方法是什么?我需要明确设置“加入”选项还是必须设置字段选项(在根或包含选项中)?

来自奥地利的问候。