问题标签 [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.

0 投票
1 回答
1979 浏览

mysql - 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert?

我正在使用 CakePHP 3 和 MySQL。

我想通过模型实现一个INSERT on DUPLICATE KEY UPDATEakaupsert查询。CakePHP 3

给定下表:

哪里id是主键,username是唯一索引

当我有以下值等待被更新时:

我希望在 upsert之后得到以下结果:

我知道如何在 MySQL 查询中进行 upsert:

我知道如何在 CakePHP3 中的多个查询中做到这一点。

我想知道的是:

即使我使用链接,有没有办法在一行中使用 CakePHP 3 进行 upsert?

请告知我如何实施。

0 投票
1 回答
2433 浏览

facebook - 在 CakePHP 3x 中使用 PHP SDK 登录 Facebook

CakePHP 3(beta 2)中的 Facebook 登录集成(PHP SDK)是否有任何参考?
我尝试使用 GITHUB PHP SDK-4
我得到的错误是

p>

0 投票
1 回答
231 浏览

cakephp - Using query builder to write custom queries like insert, will the usual callbacks still get triggered in CakePHP 3.x?

I was reading through http://book.cakephp.org/3.0/en/orm/query-builder.html

when I found myself wondering if the usual callbacks like Model.afterSave will still triggered if I write a query like this:

What should I do if it does not and I still want to trigger the callbacks while using the query builder to run update operations?

The reason is because I want to update another model called Authors after this query is updated.

0 投票
2 回答
3271 浏览

mysql - 如何在查询生成器中使用插入插入多条记录?

我在 CakePHP 3 中尝试以下操作:

我收到以下错误:

我期待INSERT INTO users (username, age) VALUES (:c0, :c1), (:c2, :c3);作为查询。

我打开了数据库配置的日志,我看到:

如果我误解了在 CakePHP 3.x 中使用查询生成器的潜力,请帮助我理解

0 投票
3 回答
2840 浏览

cakephp - 如何更改 CakePHP 3 中控制器的视图块内容?

在 Layouts/default.ctp 中,您将在第 39 行看到类似这样的内容:

fetch表明它是一个视图块。我在任何地方都找不到这个视图块。

目前它只显示控制器的大写复数形式。意思是说如果你在/users/addfetch('title');给你'Users'

我想改变它。所以我尝试了以下方法:

/users/login控制器动作中。

不工作。

我也试过

/users/login控制器动作中。

我收到此错误消息:

我阅读了文档并从这里

我明白了

当您想将视图变量转换为块时,分配块的内容通常很有用。例如,您可能希望使用块作为页面标题,有时将标题分配为控制器中的视图变量:

强调我的。

这表明您可以使用assign内部控制器。我想我已经证明这是错误的。

也许文件中有错字。请告知我如何设置标题

0 投票
2 回答
1178 浏览

cakephp - Cakephp 忽略我的语言环境文件

我总是必须将我的应用程序翻译成意大利语,并且我做了好几次,但我无法让它与 CakePHP 3.0 一起工作。这就是我所做的:

我通过控制台的 cake i18n 提取了一个 .pot 文件。将其上传到 poeditor 并编辑了我的所有字符串 将其下载到 src/Locale/it/default.po 作为手册(http://book.cakephp.org/3.0/en/core-libraries/internationalization-and-localization. html ) 说检查了 config/bootstrap 有正确的语言集:

由于它不起作用,我尝试了一些愚蠢的事情,比如将我的文件夹重命名为 src/Locale/it_IT/default.po、src/Locale/ita/default.po,将我的 .po 文件包装在 LC_MESSAGES 中,就像使用 CakePHP 一样2.x...仍然没有结果。

调试设置为真,所以不应该有缓存...

我知道这可能是一个愚蠢的问题,但我已经过去几个小时了,但我仍然无法让它工作......我做错了什么?

0 投票
1 回答
3224 浏览

css - CakePHP 3x 中的响应式引导程序设计

由于 CakePHP 3x 具有内置的响应功能,我想知道元素结构和类定义。
我确实熟悉 Twitter Bootstrapping(在 cake 2x 项目中完成)。但是需要熟悉 CakePHP 3x 版本,因为它是新的框架!
我查看了css/base.css并发现元素类很少,比如

于响应式站点使用标准元素结构运行,Cake 的引导是否有任何参考,例如表单、块等?

0 投票
1 回答
654 浏览

php - 如何为分页查找器编写条件以基于多对多关系中的关联项目检索项目?

我正在使用 CakePHP 3.x

我正在关注此处此处的书签教程

我想再添加一项功能,我可以根据标签 id 获取属于同一标签的书签。

我在 BookmarksController 中编写了以下函数

我应该如何更改$conditions以便只能检索属于同一标签的那些书签?

请记住,书签和标签是多对多的关系。

更新1

我发现了使用matching. 如果我使用query builder.

请参阅http://book.cakephp.org/3.0/en/orm/query-builder.html#using-matching-when-finding-results

但是,没有提到如何matching与分页一起使用。

更新2

我刚刚意识到已经有一个自定义查找器方法可以满足我的要求,但它不适用于分页。

http://book.cakephp.org/3.0/en/tutorials-and-examples/bookmarks/intro.html#getting-bookmarks-with-a-specific-tag

0 投票
1 回答
71 浏览

php - 选择字段时不加载关联

在选择字段时,我在尝试获取关联模型时遇到了一些麻烦。我的 CakePHP 版本是 3.0beta2。

与此问题相关的三个 MYSQL 表:

-

-

我的关联定义如下所示:

我想要实现的是:

  1. 加载当前登录用户的所有用户信息
  2. 加载该用户拥有的所有收藏夹
  3. 创建一个将created字段(时间戳)转换为日期的新字段
  4. 对于每个收藏夹,加载关联的预设数据

这是我用来执行此操作的代码:

问题是:当我使用select上面代码中的方法时,Favorites.Presets没有加载关联,所以$user['favorites'][0]['preset']总是null.

但是,如果我注释掉 select 方法(从而选择所有字段而不是检索DATE(created),则加载关联,我可以访问预设表中的信息。

这可能是一个错误还是我做错了什么?
谢谢您的帮助!

0 投票
1 回答
2097 浏览

php - 插件中的 CakePHP3“未找到帮助程序”错误

我在 {appname}/plugins/UsefulHelpers/src/View/Helper 中创建了一个帮助器“SideNavbarHelper.php”,我试图在 AppController 的 beforeRender 中设置帮助器,但出现以下错误。

错误:找不到 UsefulHelpers.Sid​​eNavbarHelper。

AppController.php 中的 beforeRender

SideNavbarHelper.php

我已经确认插件在 bootstrap.php 中加载。为什么我会收到错误消息?