问题标签 [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 中 AppModel 的替换
我想在 CakePHP3 中为两个模型实现一个 autoslug 函数,并使用 -callbackbeforeSave
来正常工作。但是 slug 结构与 in 有点不同Inflector::slug
,所以我为不同的结构编写了一个小函数,这最终导致了我的问题
在 Cake2 中,我会将这个辅助函数放在不再存在的 AppModel 中。现在最好的方法是什么?一种行为(对于 2 行代码来说似乎有点大)class AppTable extends Table
或者 ..?
cakephp - CakePHP 3.0 -> 查找条件之间
是否有可能做一个“之间?和?” cakephp 2.5 中的 LIKE 条件在哪里?在 cakephp 2.5 中,我写了类似的东西
我该如何迁移它?
另外我会写类似
debugging - 我的数据仅在我调试时显示。这是怎么回事?
我正在使用 Stripe 的 API 并尝试检索数据。我有以下代码:
如果我将 AJAX 响应设置为 $data,则响应显示为空 ( {} )。如果我在后端对其进行调试,我会得到一个巨大的列表,其中包含各种很棒的属性可供使用。我所做的就是:
问题是我无法访问前端的变量。我想使用:
大意是这样的,但是由于某种原因,当前端解释它时,数据是完全空的。
同样的效果,我也不能将它设置为会话(我曾经将会话日志设置为调试,而不是使用调试功能)。
这是怎么回事?我正在使用 PHP 框架 CakePHP 3(最新版本的 Beta)。我认为这与将数据作为序列化返回(也许?)有关,但这并不能解释会话日志记录。这发生在我们发回数据之前:
xml - 获取表单助手以使用 cakephp 3.0 beta2 自动分配默认值
我正在开发一个应该处理 XML 数据的 Web 应用程序,当我尝试编辑以前保存的数据时遇到了一些问题。
这就是我从一开始就在做的事情:用户必须填写一个包含多个输入的表单,我在控制器中获取该数据,使用 Xml::fromArray 将其转换为 XML 字符串并将其存储在单个数据库字段中。这完美地工作,生成的 XML 字符串正是我所需要的。这是表格的(部分)。
现在我正在尝试为该数据添加一个编辑功能。我从我的控制器中获取该数据,将其转换回具有 Xml::build 的对象,然后......这就是问题的开始。
如果我这样做
一切看起来都很好,因为它告诉我我有一个包含以下内容的对象:
但是,如果我尝试查看 $invoice->data->FT->Header->Transmission->Number 包含的内容,而不是字符串,我会得到一个空结果。这就是为什么(我认为)所有表单输入都是空的。
我查看了官方文档,尝试将其转换为数组(这应该是 cakephp 处理数据的旧方式)以及我想到的所有内容......仍然没有结果。
我究竟做错了什么?
更新:我设法以这种(肮脏的)方式创建了一个工作对象:
现在,如果我调试 $invoice->data->FT->Header->Transmission 我有正确的值,这在我的情况下是一个巨大的进步:)
问题是表单助手仍然无法识别该值。如果我的编辑模板中有这个
然后该字段为空。如果我以这种方式指定它的值
它应该正常工作。我知道我可以指定每个值,但我想自动使用它,就像我在该页面中拥有的其他字段(非 XML 相关)一样,例如 $invoice->sent 被 $this-> 正确识别表单->输入('发送')...
更新 2:这是 XML 生成的代码:
这些是我用来将输入字段的值转换为 XML 并返回的函数:
ps 如果您看到一些细微的不一致,请原谅我,我正在尝试删除所有不相关的代码以避免发布大量代码...
cakephp - 用 composer 安装 CakePHP 3.0 坏了?
尝试拉本地主机时出现此错误。
error: Warning: require(C:\xampp\htdocs\sync\vendor\autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\sync\config\bootstrap.php on line 23
使用 composer 从 cakephp 站点安装:http: //book.cakephp.org/3.0/en/quickstart.html
每次我尝试这都是我在 cmd 中遇到的一些错误:
更新:
有趣的拍摄。我现在已经在 5 台机器上安装了 CakePHP 3 测试版,而且我再也没有看到这个错误。看了之后,我发现了这个(尝试了他们提供的所有解决方案都不起作用):CakePHP 3.0 installation: intl extension missing from system
解决方案
我试过了:
- 打开 /xampp/php/php.ini
- 将 ;extension=php_intl.dll 更改为 extension=php_intl.dll (删除分号)
- 将所有 /xamp/php/ic*.dll 文件复制到 /xampp/apache/bin
- 在 Xampp 控制面板中重启 apache
出于某种奇怪的原因,在我多次重新启动 apache 后,它在 30 分钟后突然开始随机工作。某些东西必须已缓存或需要硬重置。
但这最终做到了。似乎我的标题比另一个解决的标题更准确。希望这可以帮助更多的人。
cakephp - cakephp 3 原始数据在 afterSave
有什么办法可以在 afterSave 中访问原始数据?我想记录重要数据的更改。
使用 $entity->isNew() 我可以检查它是插入还是更新,但我怎样才能得到改变?
php - 如何仅在字段脏时关闭 CakePHP 3 验证?
我正在保存对实体的编辑 - 唯一的问题是下面的这个密码验证函数是用户表的一部分,即使我没有更改密码字段,它也希望被调用:
我尝试向它添加一条语句 - 文档中描述的“on”参数:
这允许我进行更改,因为它仅在字段为空时(即我们第一次创建用户时)运行验证。
不幸的是,它也破坏了我的其他功能——更改和重置密码。在这些情况下,会在该字段中设置密码,因此当我尝试更改或重置密码时验证将不适用。
因此,我与 Github CakePHP3 的人员进行了交谈,他们建议我检查脏字段以查看是否试图更改密码。
这是一个好主意,但我如何访问该字段?一旦我深入到数组中,我就不能再进一步了:
那么如何从我所在的上下文中访问脏数组呢?如果我可以看到密码字段正在更新,我可以例外并解决问题。
cakephp - CakePHP 3.0 ORM - 调试工作,翻转直播,抛出错误
我可以在这里使用健全性检查...
我的 Cake3.0 CustomersTable 对象中有一个自定义属性
//客户表
我从全局 API ajax/json 控制器中使用它来读取我可以为每个模型设置的分页
//ApiController -
在客户端,我通过基于 Angular 的 Ajax 请求调用它,该请求已配置为发送 X-Requested-With 标头以触发 Cake 的 isAjax() 处理,并且我将请求发送到 .json 扩展 Cake 路径到请求 JSON 数据作为响应。
因此,当 Config/app.php debug = true 时,一切正常,tickety-boo - 它正确返回实体数据。但是,如果我将调试切换为 false,我现在会在错误日志中看到 ORM 错误。
错误:[RuntimeException] 表“Cake\ORM\Table”未与“paginatorDefaults”关联
所以,我没有发现为什么我不能在 Table 对象上设置任意属性 - 实际上它在调试中工作正常 - 但是当我关闭它时为什么不呢?
(PS:我已经清除了所有的 app/tmp 缓存文件。)
cakephp - cakephp 3 显示没有时间的日期
CakePHP 3:我有一个 DATE 数据库字段(不是 DATETIME 也不是 TIMESTAMP)
当我显示
它将显示类似2014. 01. 06. 0:00的内容。如何隐藏小时和分钟?
我试过
但我得到了2014-0-6
如何获得年月日?
rrd
cakephp - 如何在 CakePHP 3x 中导入供应商文件
我正在使用最近推出的CakePHP 3(beta 2)版本。我需要使用 PHP SDK 集成 Facebook 登录,我不清楚在这个版本中导入供应商文件。
在 CakePHP 2x 中,我使用过
所以我需要在 CakePHP 3x 中重现相同的内容(我没有使用作曲家)。
这有什么参考吗?