问题标签 [cakephp-3.3]

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

admin - 如何在 CakePHP 3 的管理区域中创建 AppController

我通过在 routes.php 文件中设置前缀“admin”来创建管理区域:

现在当我跑

bin/cake acl_extras aco_sync

它给了我以下错误:

从上面的错误中,我了解到它正在 src/Controller/Admin/ 区域中寻找 AppController,因此我确实使用以下代码在那里创建了一个 AppController:

编辑:我错了。我们不能在这里扩展Controller,因为我们没有包含它。我们需要并且实际上想要扩展 AppController,因此我们需要将 Admin/AppController 类命名为类似 AdminAppController extends AppController?? 如果是这样,其他本地控制器如何使用它?现在对我来说似乎很困惑。

但是现在控制台中出现了新的错误,上面写着:

致命错误:无法声明类 App\Controller\Admin\AppController,因为该名称已在第 7 行的 C:\wamp\www\d3\src\Controller\Admin\AppController.php 中使用

我不确定为 /Admin/ 命名空间使用本地 AppController.php 的最佳方式是什么。无论如何,我真的需要一个吗,我认为是的,以便覆盖管理相关功能并实际修复控制台中的 acl_extra acl_sync 相关错误,第一手。

0 投票
2 回答
4844 浏览

cakephp - 致命错误:在布尔值上调用成员函数 user()

我必须在视图中使用loggedIn用户数据,因此在函数中创建了一个变量AUTH_USER 。AppControllerbeforeRender

每当出现错误时,它不会显示实际错误,而是显示没有样式格式的以下错误

删除线84 - 86显示实际错误

编辑 2

AppController 中的 Auth 组件加载代码 initialize()

我编写了以下代码来加载AUTH组件。

0 投票
0 回答
871 浏览

mysql - CakePHP3:SELECT 列表不在 GROUP BY 中的 belongsToMany 关联中

我已经遇到过这样的问题,但我不明白group()在这种情况下如何定义:

我有以下表格:

查询是:

错误是:

因此,由于问题似乎来自连接表,我不知道如何编写group()子句。

0 投票
2 回答
1077 浏览

php - CakePHP empty 关联的字段被保存而不是丢弃

我有一个关于 CakePHP 的小项目。它有一个名为articles的表,以及category、tags、images等5个Fields表。关联大多是HasOne,关联表有多个列。在文章表上保存数据时,一切看起来都很好,但在某些关联上,例如:文章 -> 评级,如果我没有填写评级表的某些字段,则将其保存为空:

如果我添加一些验证,那么我无法保存文章,因为它需要验证。我想要的只是,如果 rating_value 为空,则不能将其创建为 null(实体被拒绝),并且必须保存文章。删除文章按预期工作,所有相关实体都被删除。

我尝试在 Model.beforeMarshall 上更改 $data 但该类在 Tables Articles 和 Ratings 中都是私有的(我认为关联可能是问题所在)。

一些代码(控制器添加):

因此,我删除了每个关联模型的所有验证。

0 投票
2 回答
6048 浏览

php - Cakephp 3 给我致命错误:未捕获的错误:找不到类'Cake\Http\Server'

我已经将 cakephp 2 升级到 cakephp 3,这导致了问题,所以我发现我必须用一组新的文件替换 app/webroot,这些文件是 cakephp 3 框架的一部分,但现在我收到了这个错误:

经过一番研究,我找到了这个页面:https://api.cakephp.org/3.3/,它显示了应该可用的类,我发现如果我去my_cake_project/web/lib/Cake运行,ls我会得到:

basics.php bootstrap.php config Configure Controller Error I18n Log Network src tests Utility View bin Cache Config Console Core Event LICENSE.txt 模型路由测试 TestSuite VERSION.txt

但是我错过了应该在 CakePHP 3 中的几个库,包括 Http 文件夹,我相信这就是找不到 Cake/Http/Server 的原因。

我已经找到了触发错误的行:

这是在 app/webroot/index.php 中。

我尝试将其拆分为:

只是为了测试,我发现它也说Class Application找不到。

这是我拥有的 app/webroot/index.php 的整个文件:

所以我也必须缺少 Application 类的文件

并且基于将我在lib/Cake文件夹中的内容与https://api.cakephp.org/3.3/我缺少的一堆 cakephp lib 文件夹进行比较。

我似乎不仅缺少Http,而且还缺少:

为什么我缺少这些?,以及我在哪里或如何找到所有缺少的库并将其安装到我的 cakephp 应用程序中?

0 投票
0 回答
328 浏览

cakephp - Cakephp 3 子查询

如何在 CakePHP3 中编写以下 SQL 语句?

我知道它是一个子查询,但我不知道怎么写;

我试过了;

但我得到了错误;

0 投票
2 回答
2184 浏览

php - 无法使用 Cake PHP 在 HTTP 响应中设置自定义状态代码消息

我想在控制器方法中修改响应。我想出了如何更改状态码,但我无法更改消息。API说要给方法一个数组,其中httpCodes对于每个代码,我们要设置的消息。这是我的代码:

我得到Bad Request而不是Origin Denied.

我也尝试像这样直接设置标题:

或者

但我明白了

我在 Cake PHP 3.3 和 PHP 7.1 上。这样做的目的是在我的网站上上传媒体并返回带有文件位置的 JSON 结构,或者如果失败,则返回适当的代码。这是 TinyMCE 的要求。

我是 CakePHP 和 Response 类的初学者,我阅读了这本书和 API,但我仍然不知道如何去做。

0 投票
1 回答
1986 浏览

authentication - 自定义查找器在 CakePHP 3 中不起作用

我正在使用 CakePHP 3.3。我希望用户使用电子邮件手机号码以及密码登录

我有带有email, mobile, password, etc字段的用户表。

根据 CakePHP doc,我正在使用自定义查找器auth登录。

Auth成分在AppController.php

findAuth()采取行动UsersTable.php

和 login() 动作UsersController.php

login.ctp视图包含

但这不起作用并打印Invalid Credentials, try again

更新 2

username在表格中添加了一个空白列users

登录.ctp

AppController.php:authComponent

和上面一样

查找身份验证()

现在它正在工作。username但是,即使在应用程序中不需要,为什么还要强制使用列。

0 投票
1 回答
1792 浏览

cakephp - CakePHP 3 中的路由

我正在使用 CakePHP 3.3

我有一些仪表板控制器,其名称如下

我想映射像这样的网址

这将使用和作为参数调用DashboardUsersController.php类和view函数。param1param2

简而言之,我想将 url 更改http://example.com/dashboard-users/view/paramhttp://example.com/dashboard/users/view/param

只有在域之后存在仪表板时才会执行这种类型的映射,否则它将像访问时一样默认工作http://example.com/users/view/param1将调用UsersController.php

到现在为止我做了什么?

因为,我是 CakePHP 和路由的新手,所以我不知道从哪里开始,因此到目前为止什么也没做。我需要你的帮助。

0 投票
1 回答
574 浏览

php - CakePHP 3.3 - 身份验证不起作用

我是 CakePHP 的新手,我在 YouTube上观看了有关如何实现登录视图的教程。

我一步一步地遵循教程,但$user似乎从来都不是真的。即使我尝试使用正确的凭据登录,我也会收到“登录错误”错误。

我的错误在哪里?

UsersController.php 中的登录功能

在 AppController 中初始化 Auth

登录表单

用户模型中的 _setPassword