问题标签 [cakephp]
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 的“子”模型中保存信息
我有一个简单的CakePHP site (1.2)
. 我有一个页面,您可以在其中编辑和保存人员。所以我有一个 Person 模型和控制器。
在评论表中,每个人都没有或有更多评论。所以我有一个 Comment 模型,并且我的 Person 模型与 Comment 模型有一个 hasMany 关联。视图工作得很好。
我的问题是,在查看人员页面上,我有一个添加评论按钮。这应该如何工作?我应该期望 Person 控制器包含评论记录的保存,还是创建一个评论控制器并将其保存在它与人的关联之外?
我对 PHP 有经验,但对 Cake 是全新的。
有任何想法吗?我想我只是错过了一些明显的东西,但我不知道该怎么做。我觉得如果这是PHP
我会在我的添加评论表单中引用 Person_id ,因此使用单独的控制器,但我觉得有一个简单模型的控制器是没用的,因为评论只在个人记录的上下文中编辑.
想法?
cakephp - 如何在 CakePHP 的第三个 n..n (hasAndBelongsToMany) 关系中加入两个表?
我有n...n
两个表的结构,makes
并且models
. 到目前为止没有问题。
在第三个表 ( products
) 中,例如:
make
我的问题是为我包含的一个特定产品创建一个视图,ProductsController
这就是制作模型:
我认为这可以工作:
所以,如果我想使用list
to 传递给我的视图来创建单选按钮,我将不得不foreach()
在我的make
数组中执行一个来查找所有模型标题并创建一个新数组并通过$this->set()
.
有没有更简单的方法来获取该列表而不会强调make
数组。在我的应用程序中开发此类场景将是一项常见任务。
提前感谢您的任何提示!
php - 在 CakePHP 中,如何确定某个字段是否在编辑操作中被更改?
我正在使用cacheCounter
in CakePHP
,它为相关字段增加一个计数器。
例如,我有一个 Person 表和一个 Source 表。Person.source_id 映射到 Source 表中的一行。每个人都有一个 Source,每个 Source 都没有或有多个 Person 行。
cacheCounter
当我改变一个人的来源的价值时,效果很好。它递增Source.Person_Count
。凉爽的。
但是当它增加时,它会将它添加到一个人的目标源中,但不会从旧值中删除它。我试过updateCacheControl()
了afterSave
,但这并没有做任何事情。
然后我在我的模型中编写了一些代码,用于afterSave
减去源 source_id,但即使我什至没有更改source_id
. (所以计数变为负数)。
我的问题:有没有办法判断模型中的字段是否已更改CakePHP
?
php - 在 CakePHP 中向 session-flash() 输出添加解除控制
在一个CakePHP 1.2
应用程序中,我正在使用
输出诸如“记录已编辑”之类的消息。它工作得很好。
但是,我想添加一个名为“Dismiss”的链接,它将淡出消息。我知道如何构造链接,但我不知道如何插入到flas 消息的输出中。
flash 消息将自身包装在一个DIV tag
. 我想将我的关闭代码插入到该 div 中,但我不知道如何。
regex - 如何使用正则表达式在 SimpleTest 中编写 AssertTags 测试?
我希望测试一个将生成lorem ipsum
文本的函数,但它是在 html 标记中执行的。所以我不能提前知道文本内容,但我知道 html 结构。这就是我想要测试的。也许文本的长度在一定的范围内。所以我想知道的是 assertTags 是否可以通过以下方式解释:
我正在将 SimpleTest 与 CakePHP 一起使用,但我认为这应该是一个普遍的问题。
cakephp - 在 CakePHP 中将控制器父类放在哪里?
我有两个共享大部分代码的控制器(但必须是不同的控制器)。显而易见的解决方案(至少对我而言)是创建一个类,并让两个控制器从它继承。问题是……放在哪里?现在我在 app_controller.php 中有它,但是那里有点乱。
php - 在 CakePHP 的视图中放置显示逻辑的最佳实践
我有一个 CakePHP 1.2 应用程序。
我遇到了需要执行一些逻辑才能在视图中正确呈现事物的情况。
示例:我有一个名为 Types 的表。有各种类型的标志,因此每一行都设置了一个或多个 BOOL 字段。对于一种类型,我将 RTF 的内容存储在另一个字段中。
因此,当我在视图中显示所有拼写错误的列表时,我想为存储 RTF 的类型创建一个链接。我不想显示链接,否则。
这种逻辑的最佳位置在哪里?
我想使用 html->link 来创建链接,但我不能在我的模型中使用它。逻辑是否应该进入模型,如果是,我是否应该在我的模型中构建 HTML,例如链接?
php - CakePHP中的三表模型关系
我有一个 CAkePHP 1.2 站点。我有三个相关的模型/表格:一个评论只有一个触摸,一个触摸只有一个触摸类型。
在每个模型中,我都有一个属于,所以我有Comments属于Touch,Touch属于Touchtype。
我正在尝试获取包含有关存储在 touchtype 表中的触摸信息的评论列表。
我将字段列表传递给 find()。我可以从 Touch 和 Comment 中获取字段,但不能从 TouchType 中获取。模型连接是否只有 1 级?我尝试调整递归,但这没有帮助。
cakephp - CakePHP hasAndBelogsToMany 使用 save() 与 saveAll()
我正在使用带有 CakePHP 应用程序的非常内在的数据库,到目前为止,我的多模型视图和控制器工作正常。我有一个单数表(Entity
),它id
在其他几个表上作为外键entity_id
有些表是一对一的关系(比如 aCompany
是一个Entity
),有些表是一对多的(Entity
可以有几个Addresses
)等等。
我不会/不能更改数据库模型,所以这就是结构。
我一直在使用saveAll()
以下输入名称在这些表上保存数据:
而我的拯救就是做所有艰苦的工作BEGIN TRANSACTION
,所有INSERT
的和最后的COMMIT
......
但是现在我创建了EntityCategory
一个对 n 的关系,并在HABTM
模型内创建了完整的关系。
当我使用它时它起作用save()
,但只是HABTM
关系,当我使用时它会保存一切saveAll()
(就像以前一样),除了HABTM
关系。
我错过了什么吗?我如何使它正常工作?我今天使用以下代码:
将saveAll()
所有数据保存在几个表中,保存 idEntity->id
并save()
保存HABTM
关系,但我不确定它是否正确,或者如果我更改某些结构/模型是否会给我带来问题。
这是最好的使用方法吗?有没有一种正确的方法可以在 CakePHP 中保存这种关系?您的经验/知识可以告诉我什么?
cakephp - 当我转到第 2 页时,为什么分页器不记得我的自定义参数?
在 cakephp 视图中使用分页器助手时,它不记得为我的使用自定义的部分 url。
例如:
这里的主持人是一个参数,可以帮助我按该类型进行过滤。但是按分页器链接将不包括此链接。