问题标签 [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.
php - CakePHP 常用模型
我有 3-4 个运行同一个 Cake 库的应用程序,每个应用程序都有自己的控制器、模型和视图。
我最近发现模型中的很多方法在项目之间重叠,我想知道是否可以让应用程序模型(不是 app_model.php)来扩展蛋糕文件中的模型
例如
我希望这是有道理的
php - 如何告诉模型如何找到其关联模型?
首先让我注意,我是 MVC 框架的新手,所以不要假设在该领域有任何知识。
我有一个设计师模型,当我从设计师模型中检索信息时,我想为每个设计师提取相关产品。
关联并不简单,所以蛋糕不会为我神奇地做到这一点,所以我需要自己定义它。我一直在关注教程,我认为我很接近但不确定如何将它们联系在一起。
我有一个很长的查询,如果您在正确的位置插入designer_id,它将选择所有关联的产品。
我想我应该将此查询放在 Designer 模型中的某个位置,以便它知道如何检索产品。
这是查询,字符串中看起来像的部分{$__cakeID__$}
需要替换为designer_id
:
这里还有设计师模型:
我需要做什么才能让 Designer 模型使用此查询来自动查找其关联产品?
php - 如何在 CakePHP 中使用 beforeValidate()?
我有一个带有 URL 字段的表单。此字段的默认值为:http://。但该字段不是必需的。用户可以跳过它并提交表单。它不应该返回错误,因为它不是必需的并且因为他们没有输入 URL。但现在确实如此,因为 http://.
我听说我可以使用 beforeValidate() 来检查它是否是 http://,然后清除 URL 字段,让我跳过错误消息。
但我不知道如何使用 beforeValidate()。我搜索了谷歌,但我没有找到任何工作示例。我在哪里放置 beforeValidate() 的代码?它是一个函数吗?如何从那里访问提交的表单数据?
谢谢。
php - HABTM 回波值类似于标准关系
我可能错过了这一点,但我试图在我的索引中回显一个 HABTM 值,但我似乎无法获取数据。
例如,我可以毫无问题地回应这些关系:
从 Plan 模型上的 _id 递归关系可以看出。
希望我的问题很清楚。只是不知道该怎么做。无论我尝试使用何种变量组合,似乎都无法解决它。
php - CakePHP:如何构建用户的个人资料页面
我们如何构建一个输出用户数据的个人资料页面?而这个页面只能由登录的用户查看。这就像我们去我们的个人资料页面并查看我们自己的用户名、密码、电子邮件、地址..等。然后我们可以自己编辑它。它当然不能被其他用户编辑。
我对配置文件表的需要感到困惑,现在我认为我们不需要它?我们可以在我们创建为 profile.ctp 的页面上使用一些 PHP 逻辑来填充数据吗?
这很令人困惑,我按照这个http://book.cakephp.org/#!/view/1041/hasOne创建了一个配置文件表,其中包含我的用户表具有的一些字段,然后使用名为 user_id 的外键。我检查了用户和配置文件模型都在关系中正确定义。我在 Profile 模型中有这个:
这在用户模型中:
当我浏览到我的个人资料/索引时,有些字段名称没有任何记录。是空集。我以为它应该从用户表中检索数据??
为现有用户和即将注册的用户创建个人资料页面的最佳方式是什么?
php - 需要 CakePHP 模型索引数组,但不能从 for 循环计数器生成。需要模型索引数组才能工作
我正在开发一个功能,该功能可以提交有关各种关系类型的多条记录。我遇到的主要问题是数组的格式。为了让我的 saveAll() 处理我的多重关系设置,数组需要采用这种格式,因为您可以看到模型是键(下面的第一个数组)。
我的主要问题是:1)是否可以将数字索引从下面第二个数组的第二层剥离?
我正在像这样返回我的输入字段。您可以看到前缀计数器(我相信这是在第二级创建数字索引的原因)。
我正在为字段使用 for 循环计数器。所以我的问题是:这个值可以更改为可以与 Cake 的 saveAll() 一起使用的东西吗?
模型是键的示例(这是我需要的格式):
我可以在多输入数组上获得的唯一输出(下面是 debug() 转储)
我的实际输出是数字索引的:
)
php - 使用相关模型的 cakephp 搜索条件
我在处理根据不同但相关表上的搜索条件获取项目列表时遇到了一个持续的问题。我需要清楚地知道如何处理这种情况。这是我最简单的例子:
如果我有一个代理模型(使用主键为 r_num 的称为引用的表和使用称为代理的表的代理模型,代理表包含链接到代理的外键 r_num,代理可以有许多代理:
表:转介
表:代理
楷模:
我想要的只是使用搜索表单中的条件返回一个使用 $this->Agency->find('all') 的列表,其中包括代理名字、代理姓氏、代理电子邮件。我需要一份代理公司名称和 ID 的列表,但搜索条件是基于代理的。我有几个不同的模型可以使用它,所以我需要有关它如何工作的文档。根据我在网上找到的内容,我尝试过的是 AgencyController 中的这个,它可以工作,但它是一个 hack,不适用于我的一些更复杂的案例:我需要在不进行多次调用的情况下执行此操作,因为有些我的表将返回大量行,并且在这些查询上使用这种技术需要几分钟。
php - CakePHP 保存模型和关联模型
我有一个用户模型。
它有一个注册视图,其中包含一个如下所示的表单:
当您提交表单时,它会保存如下:
这行得通。
我在我的数据库中添加了一个表,该表使用作为外键addresses
的字段调用user_id
users.id
我放入了我的用户模型:
我将这样的字段添加到注册表单:
我希望这会在地址表中创建一个新条目并将其与新用户相关联。它不会,它会创建一个新用户,但不会在地址表中放置任何内容。
我尝试将保存功能从更改save
为saveAll
:
现在什么都没有得救。
我究竟做错了什么?
cakephp - 在 CakePHP 中检索带有最新评论的帖子
假设我有一个模型Post
和一个Comment
相关的模型如下:
如何使用它find('all')
来检索每一个Post
与其相关联的最新版本Comment
?
我尝试将hasOne
关系定义Post
为:
但是,当我执行 a 时Post->find('all')
,它每隔Post
多次返回一次,每次返回一次Comment
,并LatestComment
设置为不同的Comments
。
php - CakePHP,应该如何使用它来创建这个(内部)应用程序?
我拥有的是以下数据库结构(表):
lists[name,id]
list_items[title,list_id,content]
我已经创建了管理第一个表()所需的文件和代码(MVC lists
)。
我还添加了hasMany
模型类。那时我被卡住了。
我需要的是一个管理每个项目的解决方案(基本的 CRUD,我假设复杂的管理只是一个高级的 CRUD,我会自己找出如何去做)。
我会具体一点:因为它是一个没有地方(但管理员)的内容,它将被自己使用,我应该 -
- 为它创建一个完整的 mvc 结构?(我可以或应该以某种方式[如何?] 在
lists
包中实现它? - 如果没有,我该如何附上表格?(因为
use
即将在版本 2 中删除) - 元素(蛋糕概念/上下文)是否适合为这种情况创建视图?
任何见解将不胜感激。