问题标签 [cakephp-3.x]
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 - 如何在 HtmlHelper 等控制器中创建 URL
TLDR:如何在控制器中创建 URL,类似于使用 HtmlHelper 在视图中创建 URL?
问题:
我想在我的控制器中打印控制器操作的 url(因为我在控制器中创建我的 JSON 字符串,而不是在视图中)
在 aView
中,我可以使用$this->Html->url()
,但是在 Controller 中呢?
我应该使用定义的常量,例如APP_DIR
+ 控制器名称 + 控制器操作吗?)
cakephp-3.0 - 检查对象在视图模板中是否存在或为空
如果结果对象包含任何条目,如何在视图模板中检查?
(已经有一个类似的问题,但这一个略有不同)
以CakePHP 3 博客教程为例。他们展示了如何在一页上列出所有文章:
和视图模板:
缺点:如果数据库中没有条目,仍会呈现 HTML 表。
我怎样才能防止这种情况并显示一个简单的消息,比如“抱歉没有结果”?
在CakePHP 2
我用过
但是既然$articles
现在是一个对象,这不再起作用了......是否有一种新的“捷径”来检查结果对象?还是您通常先使用另一个 foreach,例如
感谢您的提示。
php - 如何匹配与特定的其他记录集相关联的记录?
我正在尝试为我的项目添加两个不同的搜索变体。有一个模型“用户”和一个模型“标签”。一个用户有很多标签。现在我希望能够搜索具有特定标签的用户。要么我想显示具有任何指定标签的所有用户。我是这样工作的:
但现在我想找到同时拥有两个标签的所有用户。我试过->andWhere
代替->orWhere
,但结果总是空的。
如何找到包含多个标签的用户?
谢谢
validation - CakePHP3 中令人困惑的验证与应用程序规则
关于验证的多个问题可能属于一起,因为它们都在处理 CakePHP 3 中的新验证概念。
我已经多次阅读食谱中的章节(1、2、3 ),但老实说,我不明白如何以正确的方式去做。我也知道目前在 GitHub 上有一个关于 CakePHP3 中的验证的问题/讨论,它可能涉及相同的主题。
验证错误被触发,例如使用 patchEntity。因此,我认为在执行保存操作之前始终检查/显示错误会更好:
为什么食谱教程$user->errors()
在保存数据之前不使用?据我了解,save
如果已经存在验证错误,则不需要调用它?!另一种方法是结合错误检查和保存操作:
你在用这个吗?我应该使用它吗?或者如果不是,为什么不呢?
为什么即使我没有$user->errors()
在控制器中使用 CakePHP 也会显示验证错误,就像在所有食谱示例中一样?我以为save
不会检查实体验证?!
示例:isUnique
根据食谱, “确保电子邮件唯一性”是应用程序规则的一个用例。
该错误只能通过save
控制器中的 -call 触发。但也可以在验证中检查唯一性。为什么不这样做更好?
如果我可以在验证中添加 ApplicationRule,为什么我会/应该使用 ApplicationRules?
我如何在 ApplicationRule 中定义规则何时应仅应用于特定操作(并非所有创建/更新调用)?
patchEntity
当在-call之后操作实体时,我也没有看到或理解两个单独的验证状态的好处。
如果我自动向实体添加一些值,我想确保这些值在将它们保存到数据库之前仍然有效(如在 CakePHP2 中)。所以我想总是 使用验证作为应用程序规则更好/必要?!
你一般如何处理这个问题?是否有其他示例可用于显示/展示验证与应用程序规则的好处和一些用例?
cakephp - 将默认顺序设置为 CakePHP 3.x 模型
在 CakePHP 2.x 中,可以orderBy
在模型中设置一个值作为该表上每个查询的默认顺序。
在 3.x 中,文档中没有提到这一点,我尝试对变量或方法名称进行合理猜测来实现这一点并没有奏效。
有人知道这是否仍然可能吗?
php - Cake PHP 3 Paring Routing with a table
我一直在尝试使用带有 Cake 的路由器获得漂亮的 url。
www.mysite.com/category/slug
www.mysite.com/slug
www.mysite.com/category/
我认为没有公式可以准确地得到我想要的,所以我想明确匹配每个 url。我希望我的路由表看起来像这样
所以当有人去 www.mysite.com/mysubcategory/my-title-of-page
我希望它与 url 列交叉引用“mysubcategory/my-title-of-page”并继续。做这个的最好方式是什么?
我的猜测是将所有流量引导到路由控制器
但是当它重定向时,我希望它在浏览器中显示漂亮的 url,我不希望它显示articles/view/12
谢谢你
cakephp - CakePHP 3 按嵌套关系查询构建器顺序
订单功能的文档还不够好。这就是我所拥有的:
表 A <---- MiddleTableAB ----> 表 B <--- MiddleTableBC ---> 表 C
所以我有一个表 B 与表 A 具有多对多关系,并且与表 C 也具有多对多关系。
我需要的是表 B 的项目列表。它们需要按表 A 的 ID 分组,然后按表 C 的 ID 分组。
这就是我在 Table B 函数中的内容:
但是蛋糕说没有TableA.id。如果我删除群组通话,我将获得构建所需结果所需的所有数据。我怎样才能使这项工作?
php - 如果 url 中的临时密码通过验证,如何在 CakePhp 3.x 中允许控制器操作?
我已经设置了一个忘记密码的场景,用户提交电子邮件地址,获取发送给他们的临时密码,然后用户单击要发送到用户编辑功能的链接,以将密码更改为他们可以记住的密码。我在 url 中传递临时通行证。
我调试了我能做的事情,它似乎正在结帐,但仍然不允许未登录的用户访问编辑方法。它似乎只授权登录用户(如果他们忘记了密码,因此无法登录,你可以看到我的问题)。
那么,如果临时通道与 url 的 id 参数匹配,您将如何允许访问控制器方法?
is授权功能:
示例链接地址:http://localhost/site/users/edit/1?pass=o1eNbs5l7GlHlqvPAmU.
elasticsearch - 在 CakePHP 3 中获取 Elasticsearch 的最高分数
我正在尝试将 Elasticsearch 与 CakePHP 集成,但我不知道如何max-score
在 json 响应中获得类似的东西:
我的控制器中的查询按预期工作,我知道必须有一种方法可以在查询后获得最高分数。
php - CakePHP 3.0:响应为 json
我正在创建一个 CakePHP 3.0 REST API。我按照这个说明(书中的路由)并在 json 中收到了响应。这是我的代码。
01 src/config/rout.php
02 src/controler/UsersController.php
03 向该 URL 发送 post 请求
输出:
但我想在没有.json扩展名的情况下输出 json。先感谢您。