问题标签 [cakephp-3.1]
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-3.0 - CakePHP 3.x 如何从 Src 调用 Api -> 控制器 -> 动作 -> 控制器 -> 动作?
我们正在尝试为 API 目的构建另一个应用程序,因此根据我们的要求,我们在 composer 文件中进行了更改以自动加载 api 控制器和模型等。
像这样:
所以现在我们的 cakephp 3.x 文件夹结构如下:
我们正在尝试调用位于 API 文件夹中的控制器/操作,如下所示:
尝试从以下位置调用:
有什么方法可以打电话吗?
我们可以使用requestAction
,但我们在 SRC 和 API 文件夹中都存在相同的控制器和动作名称,例如 UsersControler -> login Action 在这种情况下可能是 SRC 控制器并且将调用动作,这是如何解决的主要问题?
任何有想法的人请分享您的想法和知识。
谢谢!
php - 干预图像:直接从带有原始文件名和分机的网址保存图像?
从远程服务器获取图像时如何获取文件名?以及如何以原始大小和文件名保存?
我使用干预( http://image.intervention.io/api/make ) 来构建 CakePHP 3 图像行为,我想提供从远程服务器轻松上传的功能,并保留原始图像作为未来操作的来源。
编辑
我问,当从远程服务器获取时,是否有返回文件名的干预图像方法。我知道 php copy()、basename(),我也可以使用 CakePHP File 实用程序,但它给了我对远程文件的重复请求。
cakephp - cakephp 3 控制器动作 -> 如何让它变得聪明
我以最不优雅的方式实现了一个控制器动作。这怎么能变得更好?表类就像 after bin/cake bake
。我认为创建实体的部分可以非常简单。
我在做什么: Books --belongsTo--> Publishers <--habtm--> Publishernumbers 将 Book 添加到数据库时,publishernumber 是从 ISBN 号中提取的。然后,此编号以 habtm 关系链接到发布者。我需要在表单中输入 isbn 时向用户建议一些出版商。
该代码目前有效,但一年后,只有上帝会知道我在这里做了什么。第一部分很简单。
这是混乱开始的部分。我认为这可以做得更优雅。
保存
validation - CakePHP 3.1:翻译行为字段的验证 (i18n)
我正在尝试使用 CakePHP translate behavior以一种形式添加一个包含多个翻译的项目。
如何验证翻译字段?例如,需要特定的语言?
假设您有一个简单的items
表,其中包含一个单独的翻译表 items_i18n
,按照书中的描述进行设置。作为一个简单的例子,该items
表只有一个title
要翻译的字段,我想以title
五种语言保存。所以我制作了这样的表格(在add
视图模板中):
并像这样保存在控制器(add
动作/功能)中:
这是在没有验证的情况下工作,或者如果我只有“本机”title
字段的验证规则(应该,我简化了 stackoverflow 的代码并为示例重命名了一些部分,所以可能有一些拼写错误,但你应该明白...)。
现在让我们进一步假设语言英语(默认)和西班牙语是必需的,其他语言字段是可选的。我怎样才能做到这一点?
在ItemsTable
我尝试过这样的验证:
但这总是会带来验证错误“此字段是必需的”,因为patchEntity($item, $this->request->data);
会导致翻译被丢弃。我通过GitHub 上关于保存工作流程的一个未解决的问题知道这一点(顺便说一句,此请求 +1 :)。
所以目前我不确定在使用 CakePHP 翻译行为时是否有办法为翻译字段定义验证规则......所需的语言字段只是一个例子,如果你想验证同样的问题,例如 min/max外语输入字段的长度...
cakephp - CakePHP 3.1:用于翻译行为的语言字母代码 (i18n)
不一致?在CakePHP 3 书中关于翻译行为的章节中,使用了三个字母的代码,这些代码来自英文名称,而不是像ISO 639-2这样的语言的本地名称:
用这个例子来改变语言:
但是在关于国际化和本地化的章节中它说
翻译文件夹可以是语言的两个字母 ISO 代码,也可以是完整的区域设置名称,例如 fr_FR、es_AR、da_DK,其中包含语言和使用该语言的国家/地区。
更改语言的示例如下所示:
那么关于translate behaviour
过时的章节还是所有方法都正确?我认为保持一致并在两者中使用相同的语言代码可能会更好,Translate behaviour
并且Internationalization and Localization
?
此外,i18n 模式表示例将该字段定义locale
为varchar(6)
...如果需要 3 个字母代码就varchar(3)
足够了...但即使我使用完整的本地代码(如fr_FR
varchar(5))也足够了。为什么使用示例模式varchar(6)
?
php - CakePHP 3.1:在 joinTable 中保存相同的外键但不同的 _joinData
我在要保存的模型中有这个关联:
我想保存在关联表tags_associations
2 中具有相同Tags.id
但不同_joinData
值的记录。这是一个例子
在我的示例中,只有第二个实体保存在 tags_association 表中。
cakephp - CakePHP 3:带有 BelongsToMany 的 CounterCache
我有一个BelongsToMany
关联,我的表PostsTable
是TagsTable
和PostsTagsTable
。
正如CakePHP book (associations) 中解释的那样,我有以下字段:
现在一切正常。所以,正如你所理解的,现在我想将tags.post_count
字段与CounterCache
.
我遵循了CakePHP 的书,但我想这是一个特例,实际上它并不能通过简单地将行为添加到PostsTable
.
你能帮助我吗?谢谢。
cakephp - CakePHP 3:上传多个文件并将文件名保存在关联模型中?
我需要创建上传过程,用户可以使用带有 html5 多个属性的文件字段一次上传多个文件。文件名必须保存在关联模型中。
我可以成功运行上传一个文件并将文件名保存在照片表中,跨字段:
但是,如果我想启用上传更多照片
我陷入了这个问题,并试图了解我在哪里犯了错误,但没有成功。
帖子控制器:
帖子表:
上传行为
我目前执行调试 $data / $entity 的所有标准回调,但仅在beforeMarshal 我使用:
在 beforeSave 和 afterSave
我的表单没问题,数据在 Marshal 方法之前正确输入,如果我上传 3 个文件,我也会看到相同数量的调试输出,但在 beforSave 和 afterSave 调试中只显示第一个文件,如下所示:
编辑:
为了测试的目的,我创建了这样一个表格:
此外,它只保存第一个结果。
我需要帮助来了解如何保存多个表单数据。我哪里错了?
cakephp-3.1 - 我应该在哪里为 CakePHP 3 中的 json 视图创建模板?
我正在使用 CakePHP 3.1 并尝试为User
模型呈现 json 索引响应。我按照CakePHP 手册页并index.ctp
在目录下创建src/Template/Users/json/
,但该文件没有被控制器挂钩。我也试过src/View/Users
了,也没用。我应该指定要渲染的文件还是其他?在src/Controller/UsersController.php
,我有index()
方法
$users = $this->paginate('Users'); $this->set(compact('users'));
cakephp - CakePHP 3:行为如何处理多个数据?
我想创建一个 CakePHP 行为,它将在数据存储到数据库之前对其进行处理。
例如,我有帖子添加表单,如:
帖子控制器:
表单中的数据正确存储在数据库中。
接下来,我烘焙一个新行为(例如,MyBehavoir),并将其附加到 PhotosTable。我想检索所有三个“名称”字段,例如处理它们。通过 ucfirst 方法转换,并将其发送回存储在数据库中。
但只有第一个结果 (Zzz) 被保存。
我应该怎么做,在行为中处理后保存所有字段?
还,
调试仅显示来自第一个字段的数据