问题标签 [cakephp-3.0]
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.
cakephp - cakePHP3:如何编写干净的 MVC 代码?
我想根据 cakePHP3 中的 MVC 范例编写我的代码:
我有一个公式来注册所有者,但作为所有者基本上是具有附加信息的用户,我有 2 个 SQL 表;一个用于指向所有者的用户,一个用于所有者。
这里的想法是用户不一定是所有者。
所以我目前编写了代码,它在 OwnerController.php 中的添加操作中执行我想要的操作。
现在,我想这样写:
所以,我会在我的 Owner.php 中有一个 addOwner() 操作,让他做所有需要的事情。
我的问题是我在文档中没有看到如何从我的 Owner 模型访问我的 User 模型,更准确地说,如何使 User 模型验证并保存其记录。
也许我错了,但我在教程中并没有真正看到这种编码方式。
所有者.php
用户.php
用户表.php
OwnersTable.php
你能告诉我两者之间的关系吗?
cakephp - 从表单中的关联模型获取验证错误
我有 2 个模型所有者和用户关联为用户属于所有者。
我只有一个表格来收集两个模型/表格的数据。
表单布局在下面的 add.ctp 中声明:
此表单由 OwnersController.php 控制
一切正常,我可以输入我的数据,验证并神奇地保存所有者和用户的数据,这要归功于神话般的 ORM。
但是我对来自验证器的错误消息有疑问。
无论错误来自所有者的验证器还是用户的验证器,我都会在表单中看到我的 flash 消息告诉您有问题,但我只看到所有者数据的字段错误消息,而不是用户数据的错误消息。
如果我在提交空白表单后调试所有者,我可以看到:
如您所见,该对象包含有关所有者和关联用户的错误,但由于我无法猜测的原因,cakePHP 似乎无法从用户那里获取错误。
所以我想知道它是否应该工作,如果我在某个地方犯了错误,可以解释它无法检索用户的错误。
orm - 在 CakePHP 3 控制器中保存相关数据
在文档中确切地说,可以像这样保存相关数据:
我在我的代码中尝试了这个,但我得到了错误:
致命错误错误:找不到类“App\Controller\TableRegistry”
文件/Users/mtkocak/Sites/gscrm/src/Controller/BusinessesController.php 行:62
这是我的控制器代码。我怀疑上面的代码对实体模型有效。
这是我的表的 sql 转储:
任何帮助表示赞赏。
cakephp-3.0 - 使用联合对模型的空响应
我有以下代码
findAccessible 调用在 Chrome 中给了我这个错误消息: ERR_EMPTY_RESPONSE 没有其他错误消息,错误日志中没有条目。我确信这是因为工会的呼吁。怎么做?
我想要实现的目标: groups hasAndBelongsTo users groups: id, name, admin_user_id, public
我想组团
1)什么是公共组(这个没问题,findPublic方法)
2)其中 admin_user 是给定的用户(这没关系,findMyAdmin 方法)
3)在给定用户是成员的地方(这没关系,我可以用另一个 find()->matching 调用来做到这一点)
4)用户可以访问的,例如。公共或给定用户是管理员或成员 - 意思是 1)、2) 和 3) 的联合 - 这就是我正在努力的问题。如果我将所有这些都放在一个查找方法中,我将无法为成员资格定义 OR 关系,因为这是通过匹配翻译成内部连接的内容来完成的。
php - InnoDB and saving associations in cakePHP 3
I have this database table:
It has innodb engine and uses foreign keys.
The controller code at src/Controller/BusinessesController add
And finally my form at /src/Template/Businesses/add.ctp
However when I try to save, I get "The business could not be saved. Please, try again." error. When I check sql log, I can't see anything than "BEGIN, ROLLBACK"
Any help will be appreciated.
UPDATE: Saving related data requires form like this:
php - CakePHP 3:用户不允许注销?
我正在学习 cakePHP 3 以申请实习,我目前正在学习 cakePHP.org官方食谱中的教程,但我讨厌这本书。这很令人困惑。
无论如何,我做了书签示例的步骤,它有点工作,我做了所有的事情,就像这本书告诉我的那样,直到登录和注销部分,但是当我尝试从系统中注销时,它告诉我“你没有被授权访问该位置。”
如果您需要我项目中的任何其他代码,请告诉我。
要注销,我将使用以下代码引导用户,该代码会生成指向以下内容的超链接server/users/logout
:
/rootOfProject/src/Controller/AppController.php:
/rootOfProject/src/Controller/UsersController.php:
cakephp-3.0 - 如何从包含的表中返回 sum()?
我的表中有一个自定义查找器方法,Matches
其中包含一些其他表,我想返回我包含的字段之一的总和值。
到目前为止,我有以下内容。
此代码将正常执行并且不会产生错误。同时检查 DebugKit 中的 SQL 选项卡会显示 sql 已被执行。
但是,数据在任何返回的实体中都不可用。我在哪里可以找到我的汇总数据?
cakephp - cakephp 3.0 isAuthorized() 未被调用
我已按照教程和所有 CakePHP 授权指南进行操作,但无法调用我的 isAuthorized() 方法。我的理解(如果我错了,请纠正我,这极有可能)是通过'authorize'->['Controller']
in将授权委托给特定的控制器AppController.php
,当调用 UsersController 中的方法时,在本例中为“add”,UsersController 将运行isAuthorized()
我定义的方法。我正在测试这个方法是否运行,在isAuthorized()
被调用时输出一个 flash->error 消息,但没有任何反应。如果我显式调用isAuthorized($hardcodeduser)
我的beforeFilter()
方法,它将起作用,但前提是我对用户进行硬编码。
该方法应该工作的方式是:如果注册用户请求添加/创建新用户,系统会检查用户是否具有管理员/员工级别的权限(数据库中只是一个 0 或 1 值)如果用户没有权限,那么它会重定向到主屏幕,并显示一条错误消息,显示“您无权访问该功能”。
任何帮助或建议或其他链接将不胜感激!
php - CakePHP3 多对多关系
我正在尝试保存一个在 CakePHP3 中具有多对多关系的表单,但我无法正确呈现该表单。(用户 HABTM 标签)
在我的控制器中,我设置了要编辑的对象:
在我看来:
我的问题是加载时未检查所选标签,我该如何解决?
php - 从 cakePHP 中的对象中检索属性
我对 PHP 很陌生,如果这是一个非常愚蠢的问题,我很抱歉。
我正在使用 cakePHP,我在一个方法中有以下代码/src/Controller/CommentsController.php
:
当我debug($comment)
得到类似的东西时:
我需要将其与另一个变量进行比较'user_id'
,'properties'
但我不知道如何访问对象的属性$comment
。我试过$comment->properties
and $comment['properties']
,但都返回null
。您将如何访问这些属性?