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

0 投票
2 回答
139 浏览

session - 如何在 CakePHP 2.x 之外访问 loggedInUser 的 SESSION

我需要知道用户是否已登录并需要在 CakePHP 之外但在同一个域上访问他的信息。

我试过下面的代码

我有以下输出:

例如,请你告诉我如何访问电子邮件。

0 投票
2 回答
142 浏览

php - 如何根据关联模型的值过滤分页结果?(CakePHP 2.x)

我在 cakephp 中有 3 个模型

  1. 特性
  1. 门户
  1. property_portals

我有一个网格系统,可以搜索不同属性的属性。
现在我只想搜索那些将在特定门户上做广告的属性。

我正在使用分页。

0 投票
1 回答
42 浏览

cakephp - 深度保存关联模型与第一个模型的关系

我有 3 个模型:A、B、C。

A 有很多 B

A hasMany C

B 有很多 C

我创建了视图和控制器添加方法。

表格数据:

我通过调用保存表单数据$this->A->saveAssociated($data, ['deep' => true])

如果我查询新创建的 A 模型,我会得到以下数据:

我的问题是 C 模型a_id字段没有很好的价值/与新创建的 A 模型无关。

是否可以通过一个saveAssociated($data, ['deep' => true])电话保存它们?

0 投票
1 回答
440 浏览

cakephp - CakePHP 2.X:如果 saveAssociated() 已经存在,则阻止它创建记录

我有以下型号:

这两个模型的目的是跟踪站点访问者的 IP 地址和用户代理。我希望将表标准化,因为我不希望每一行都重复长的用户代理字符串。

要跟踪访问者,代码如下所示:

如果用户代理已经存在于中,我希望Useragent模型忽略保存(仅基于字段,而不是执行保存时未知的字段)。useragentsUseragent.useragentUseragent.id

我知道我可以在控制器上实现这一点,Useragent首先处理然后处理LoggedAction. 但是,我希望模型能够透明地处理这一点。

  • 如果记录存在则返回 falseUseragent::beforeSave()不起作用,因为没有保存任何内容。
  • 用从数据库中获取的现有记录替换,将无法Useragent['id']验证。删除验证规则将抛出.Useragent::beforeSave()idIntegrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY'

一个选项是覆盖该Useragent::save()方法,以便它忽略保存操作,但将 设置Useragent->idid从数据库中获取的记录并返回数组(就像普通保存一样),但不确定这是否会破坏其他功能.

另一种选择是编写一个名为类似的方法LoggedAction::saveWithUseragent(),它将实现所描述的功能。但正如我所说,我希望模型Useragent尽可能透明地处理这个问题。

有没有更好的方法来实现我所缺少的?

0 投票
1 回答
42 浏览

php - 不能使用 cakephp 的关联模型

不能使用 cakephp 的关联模型

我设计了图像等数据库模型和编码模型关联,但无法从学生模型访问 stoc_wish 和 ctos_wish 模型。

请给我有用的建议。

CakePHP 版本 => 2.6

在此处输入图像描述

0 投票
1 回答
307 浏览

cakephp - 使用 CakePhp Containable 时的嵌套结果

我不确定问题标题,但试图在下面解释更多。提前感谢所有帮助我的人。

我对表格进行了抽样以简化我的问题。

数据库表

  • 新闻:news_id,标题
  • 评论:comment_id、news_id、内容、创建(时间戳)

用户正在对新闻发表评论。在输入“日期间隔 01.10.2015 - 05.11.2015”的搜索中,结果应包括:在此间隔之间已评论的新闻。并且comment_count 应该显示在屏幕上的标题旁边。这个comment_count 不是整个comment_count,只是这个日期之间的计数。

为此,我首先在评论中运行了查询。然后统计评论。然后按 news_id 分组。

结果如下,嵌套过多:

总之,要达到comment_count,我必须手动编写嵌套。但是我想在第一个 [title] 节点的同一级别上达到它。

如何减少终身筑巢?

提前致谢。

0 投票
1 回答
156 浏览

cakephp - CakePHP 2.x - 持久虚拟字段问题

我有一个关于关联模型上的虚拟字段的脑筋急转弯。我知道它有它的局限性,你可以在这里阅读:http: //book.cakephp.org/2.0/en/models/virtual-fields.html#limitations-of-virtualfields。但在我的具体情况下,我不能应用将 virtualField 属性从一个模型传递到另一个模型的理论(即使我阅读了这个主题:在 cakePHP 2.x 中使用虚拟字段)。

我会尽量解释清楚我的情况。

数据库信息

我有 3 个表格可以在我的网站上进行导航:

菜单

  • ID
  • 姓名

页面

  • ID
  • 标题
  • 内容

menu_page_links

  • ID
  • menu_id
  • page_id
  • 标题
  • 左上角
  • rgt
  • 插入
  • 控制器
  • 行动

一个页面可以添加到多个菜单,这就是我MenuPageLink在菜单和页面之间制作链接表( )的原因。

申请信息

菜单型号

页面模型

MenuPageLink 模型

应用控制器

现在在我的应用程序中,我想在每个页面上加载一个特定的菜单,例如“菜单”表中的“主菜单”。所以在 AppController.php 中,我提到了树需要的模型('Menu''Page''MenuPageLink',如下所示:

然后我得到属于我的特定菜单的菜单页面,id 为“2”:

这是我调试$menu变量时的结果:

到目前为止,一切都很好!

我正在尝试什么

我的问题来了。我只想选择depth = 1的页面。我尝试创建一个新'conditions'参数:

在为这项工作付出了很多头痛之后,我什至尝试使用以下Model::query()方法:

我不断收到sql错误,但我不知道如何解决它。正如我所说,我不知道如何将 de CakePHP 文档(http://book.cakephp.org/2.0/en/models/virtual-fields.html#limitations-of-virtualfields)中的理论应用于我的具体案子。请问有没有人可以帮我解决这个问题?

你会成为我的英雄:)

0 投票
2 回答
836 浏览

php - 如何防止 CakePHP 验证不在 $fieldList 中的字段?

我使用 CakePHP2.7.5,我的模型save函数失败了,因为它试图验证参数中未指定的$fieldList字段。

根据Cookbooksave方法将$fieldList作为第三个参数将保存的字段限制为$fieldList.

我这样调用save模型:

$data 是这样的:

但它失败了,因为验证错误发生在$data. 它应该以这种方式工作吗?

我是否必须$data为必填字段输入一些虚拟数据?

0 投票
0 回答
135 浏览

php - cakephp validates() 在 REST api 中不起作用

我试图在使用 cakephp 中的 validates() 插入、更新和删除数据库表之前验证数据。必须注意的一件事是我正在使用 REST api 执行此操作。我想要这样,当我在执行任务之前调用一个用于插入、更新、删除的 api 时,它必须验证数据。就像我想插入一个电子邮件地址,如果输入不是电子邮件,那么它应该给我一条错误消息,但如果条件错误,它总是会出现。我的代码如下 -

控制器:-WebserviceController.php

模型:-UserModel.php

我很努力,但没有运气。我被卡住了,请帮助我提前谢谢。

0 投票
1 回答
55 浏览

cakephp - 如何防止 HTMLHelper::link() 将关键字添加到 URL 路径?(CakePHP 2.5)

我有一个通用布局,带有一个用于打开特定页面的按钮:

此链接将重定向到一个页面/shop/cart。但是,如果我在使用另一个控制器的页面中,我就会遇到问题。示例:我在一个取决于 UsersController 的页面上,我的 URL 是:customer/现在如果我单击“我的购物车”链接,URL 是:customer/shop/cart这是一个错误。

如何清除我的网址?

谢谢。