问题标签 [cakephp-3.5]

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 回答
1675 浏览

php - 使用 CakePHP 3.5 的 $this->response->withFile() 函数返回一个 JPG 文件

我正在尝试读取文件并使用 CakePHP 3.5 中的控制器将其返回,但我运气不佳。

我在 /webroot 目录中有一个具有 777 权限的快速测试文件,并尝试使用以下代码返回它:

当我点击那个控制器(即/orders/thumbnail/KC9BW0/1)时,我在浏览器中得到的只是一个带有“text/html”类型的零字节页面。

我一般在 StackOverflow 或网络上找不到任何东西,给出了一个使用 3.5 文档中推荐的 withFile() 函数的简单示例。我错过了什么?

0 投票
1 回答
522 浏览

php - CakePHP3.5 加载不同的模板文件

在我的PhotoalbumsController中,当调用动作imgToAlbum时,我试图加载不同的布局。

我收到此错误:

错误:找不到 PhotoalbumsController::imgToAlbum() 的视图。

确认您已在以下路径之一中创建文件:“Admin/Photoalbums/img_to_album.ctp”

我也试过$this->viewBuilder()->setTemplate('ajax'); and $this->viewBuilder()->template('ajax');。但这些也不起作用。

我在我的AppController中为我的后端使用了相同的技巧,即,这有效:

我在这里想念什么。

0 投票
1 回答
1130 浏览

validation - CakePHP 3.5 如何根据另一个字段的值验证一个空字段或非空字段?

我正在使用 CakePHP 3.5.5。

我对自定义验证规则感到震惊。在我看来,我有国家和州的领域。如果国家字段的值为 US,那么我们将 state 字段设为必填,否则我们不需要。我在我的 UsersTable.php 中放置了一个自定义验证规则,如下所示:

并创建了 validate_state 函数,如下所示:

但它根本不起作用。如果我使用此规则,它唯一要做的就是显示“此字段不能留空”消息。我知道如果您为字段创建了验证器规则,CakePHP 会假设它自己运行notEmpty 。但我的问题是在检查 notEmpty 方法之前检查另一个我需要使用自定义函数的字段的值之前,我不能规则字段值 true 或 false。但在我的情况下,如果我不使用 notEmpty 方法,它既不会进入自定义函数 validate_state 也不会显示我在此规则中使用的自定义消息。

在将表单请求数据发送到验证器之前,您是否知道一种更好的方法来做到这一点?

0 投票
1 回答
101 浏览

cakephp - 如何通过 belongsToMany 关联的翻译进行过滤?

我想在关联的 belongsToMany 关系中查询翻译。根据文档和这个问题,应该可以在翻译中查询关联。我尝试了以下(简化)代码:

标签和活动具有多对多关系。

活动:

标签:

活动标签:

但是,我得到以下生成的 SQL:

这导致我出现以下错误:

QLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列'Tags_name_translation.content'

缺少以下联接:

现在我的问题/编辑:

为了生成缺少的连接,我缺少什么来配置 CakePHP?我的意图是通过翻译的标签过滤活动。它适用于非翻译。

0 投票
3 回答
491 浏览

php - CakePHP 3.6 更新后的无限登录循环

在我的应用程序中,我正在使用基于 CakePHP。当我使用 URL /manager/login(对应于 LoginController,Managerr 前缀)登录时,一切正常。

当我注销或使用 /manager 时,结果如下:

查询字符串中的无限循环和服务器返回 404.15 错误。

3.5 中使用的相同配置

没有更改任何路由,并且在没有前缀的控制器中登录/注销操作有效。

谢谢你的帮助。

0 投票
1 回答
169 浏览

cakephp-3.0 - CakePHP 3.6 Query Builder 复杂的 OR 条件问题

我正在尝试使用具有复杂嵌套 AND 和 OR 条件的查询生成器来构建查询。这是我到目前为止所写的。

这将生成如下查询

我想生成一个带有嵌套 AND & OR 条件的查询,如下所示

任何人都可以帮助解决如何在 CAKEPHP 3.0 查询生成器中实现这一目标吗?

0 投票
1 回答
1383 浏览

php - PHP 垃圾收集器不断删除我的会话

问题:

我有一个使用 PHP 会话允许用户登录的网站。它工作正常。但是会话过期太快,以至于 1 分钟的不活动将注销用户。

我的环境:

php版本:7.1

服务器:NGINX

框架:CakePHP 3.5

到目前为止我做了什么?

我在 StackOverflow 上完成了每一个解决方案或我得到的任何搜索结果。我在 php.ini 和 CakePHP 配置中都延长了会话超时。

解决方案

经过两三天的研究,我找到了解决办法。在我的 php.ini 中,我找到了一个名为的配置,并为此设置了session.gc_probability0。现在我的会话永远不会过期,除非用户故意注销。

现在我当前的问题是,我不希望我的session.gc_probability配置为零,因为它不会收集任何垃圾(对此不太确定。如果此信息错误,请纠正我。)。这将导致会话保留数月或数年,这对于服务器来说是真正的垃圾。

我得到了从这里session.gc_probability给零值的想法

我的配置到底有什么问题?是什么导致垃圾收集很快删除我的会话?session.gc_probability是 1 和session.gc_divisor1000。我认为概率为 1/1000 的进程不应该每 1 或 2 分钟启动一次。

0 投票
1 回答
765 浏览

cakephp - CakePHP 3.5 写和读 Cookie

首先,我已经尝试了这两个链接中提供的这两种解决方案

如何在 Cakephp 3.5 中设置和获取 Cookie

如何在 CakePHP 3.5 的控制器级别创建 cookie?

但是,它只是不工作。我提供了一个示例,说明我如何尝试编写和读取 cookie。但它们都不起作用。

写饼干

阅读饼干

有人能指出我在 CakePHP 3.5 中写入和读取 cookie 的正确方向吗?

0 投票
1 回答
397 浏览

cakephp - CakePHP 3.5 编写和加密 Cookie

背景:我刚刚升级到 CakePHP 3.5.17。

我有一个写 cookie 的代码。但是,似乎我缺少一些加密它的步骤。有人可以阐明缺少的步骤在哪里吗?目前,网络浏览器正在获取 cookie 的值,但未加密。注意我还在 app.php 上设置了 cookieKey

我还在下面提供的链接中包含了这些步骤

https://book.cakephp.org/3.0/en/development/application.html#adding-http-stack

进一步调试后,我注意到在 EncryptedCookieMiddleware 类中。它说明请求数据中的 Cookie 将被解密,而响应标头中的 cookie 将自动加密。如果响应是 Cake\Http\Response,则 cookie 数据集withCookie()和 `cookie()` 也将被加密。但对我来说它不会自动加密?

0 投票
0 回答
59 浏览

cakephp - CakePHP 3.5 使用动态名称加密 cookie

我的应用程序有一些带有动态名称的加密 cookie。我已经实现了用于加密的中间件,它对于那些具有静态名称(如 xxx、yyy 和 zzz)的 cookie 工作正常。

但是,我不确定如何使用动态名称加密 cookie。例如,如果我的 cookie 名称是“3HA8_settings”,其中前缀 3HA8 是某个产品 ID,我如何在 Application.php 中声明或访问 cookie 名称以进行加密。

任何人都可以阐明如何实现这一目标吗?

如前所述,我已阅读下面提供的中间件链接,但它并没有真正帮助我解决上述问题。我一定在某个地方错过了什么。