问题标签 [containable]

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 回答
3527 浏览

cakephp - CakePHP 可包含:模型“Comp”与模型“Comp”无关

我正在尝试使用 Containable 行为做一个相当简单的 CakePHP 查找:

...但在执行时会显示警告:

警告 (512):模型“Comp”与模型“Comp”无关 [CORE/cake/libs/model/behaviors/containable.php,第 363 行]

我的 Comp 模型的开始如下:

我正在使用 CakePHP 1.3.6

有什么想法可能导致这种情况吗?

0 投票
1 回答
1955 浏览

cakephp - CakePHP 忽略分页包含的内容?

我想让 cakephp 对数据进行分页并仍然使用containable,但由于某种原因,它似乎忽略了我对任何事情的请求,只是把整行都contain还给了我。Tenant在我的TenantsController我有以下代码:

我只是想检索 aTenant但只显示username(Tenant只是我User模型的别名)。

我在这里做错了什么?如果有帮助,cakephp 会在列下向我抛出未定义索引:组通知。Group我相信我的模型关系已经找到,因为我可以让 cake 使用 检索正确的数据find(),只是当我尝试使用分页时它才会中断。

0 投票
1 回答
533 浏览

php - 包含/连接和条件的自定义分页

我正在尝试根据来自间接相关模型的特定条件对名为 D 过滤结果的模型中的一些数据进行分页。我的模型看起来像:

D->C->B->A (其中每个 -> 是属于的)

我想对 D 的记录进行分页,其中 A.client = ?

这可能使用可包含的吗?这样做的首选方法是什么(使用模型 D 中的可包含导致查询每个分页项,这似乎效率低下)?

0 投票
5 回答
5234 浏览

cakephp - '注意(8):循环通过'可包含'结果时视图中的未定义索引'

我正在使用可包含将关联的记录拉入视图操作,并在遍历结果时收到错误消息。

另外,我使用的是“sluggable”行为,所以查找操作有一个条件来搜索这个变量。

当我在视图中调试 find 变量时,我确实看到了正确的记录。但是当我尝试在视图中遍历它们时,我得到了“通知(8):未定义的索引:错误。” 理想情况下,我喜欢了解如何解决此错误,因为它偶尔会发生。

模型设置为:

比赛有很多比赛详情

比赛详情有很多更新

我要显示的记录是:

锦标赛->锦标赛详情->更新

锦标赛控制器如下所示:

锦标赛视图操作如下所示:

调试时视图中的“更新”数据如下所示:

循环浏览“更新”时,我是否忽略了一些非常明显的东西?

谢谢,保罗

解析度

感谢大家的投入。退后几步后,我突然想到“未定义的索引”发生了什么以及有关如何循环的评论。

问题是 foreach 循环没有嵌套,它只在第一级关联上循环。foreach 循环处理具有许多“锦标赛详细信息”的“锦标赛”。

循环需要更深一层到具有许多“更新”的“锦标赛详细信息”。

这是在视图中解决此问题的代码。

如果其他人希望了解如何使用具有多个关联级别的可包含行为,请记住,您可能必须在视图中嵌套 foreach 循环才能显示您所追求的结果。

干杯,保罗

0 投票
3 回答
2070 浏览

cakephp - cakephp包含

我对包含 :( 有疑问,让我解释一下:

模型关系:

客户 -> hasMany -> 卡 -> hasAndBelongsToMany -> 合作伙伴 -> hasMany -> 联系人

我需要的是使用 codigo = 24150 和 coords_lat = 38.71093 获取客户的所有合作伙伴和联系人。

代码:

我已经添加

到 app_model.php

老实说,我真的不明白这里发生了什么......事实是mysql会进行大量查询并花费大量时间,但我没有看到它通过“codigo = 24150”进行选择

我会很感激一些帮助。

提前致谢。

0 投票
2 回答
1337 浏览

cakephp - CakePHP:在 ContainableBehaviour 中选择 DISTINCT

我试图只选择不同的相关模型条目,但它似乎不起作用。

我有这个:

但是 Cake 似乎会自动添加关联的模型键,即使 id 我用 DISTINCT 关键字指定它:

如何仅过滤掉 DISTINCT 大写字母或类别?对于当前示例,Cake 返回 20 个具有相同 id 的类别。我只想退回一个。

谢谢你。

0 投票
2 回答
3107 浏览

cakephp - CakePHP - 是否可以通过 read() 方法使用 Containable 行为?

我是 CakePHP 的新手,不知道如何调用具有可包含行为的模型类的 read() 方法。我可以使用 find() 执行以下操作

这正如我预期的那样工作,但我不想获取 T 的所有实例,而是获取 id = $id 的实例,以便我可以将它传递给“视图”视图。但是传递给 find 的数组在执行时不起作用

有没有办法做到这一点?

0 投票
2 回答
167 浏览

cakephp - 尝试使用 CakePHP 中的“包含”从 Event->Venue->City 获取“City”数据

我正在尝试返回一个列表events,并包括city它发生的位置。城市仅通过事件关联Venue

下面是我正在使用的代码。它返回所有正确的数据,但不返回任何城市数据(除了 Venue 中的 city_id 字段 - 我不确定它为什么返回)。

协会:

代码:

奖励答案:(我目前在另一个 StackOverflow 问题中问过) - 日期条件应该过滤显示哪些事件,但相反,它们只过滤要显示的日期数据。


工作答案:(感谢bancer)

0 投票
2 回答
7029 浏览

cakephp - 使用 Containable 按关联模型 (HABTM) 上的条件过滤结果分页

我需要对Product属于特定Category(HABTM 关联)的 s 列表进行分页。

在我的Product模型中,我有

而在ProductsController

但是,生成的 SQL 如下所示:

(即它选择 20Products然后查询它们的Categories

虽然我需要

(即选择Products属于Categorywith id= 3的前20名)

注意: 可能的解决方案Containable是(如Dave建议的)使用连接。 这篇文章提供了一个非常方便的助手来构建$this->paginate['joins']对 HABTM 关联进行分页。

注意:仍然在寻找Containable比假hasOne绑定更优雅的解决方案。

0 投票
1 回答
777 浏览

cakephp - CakePHP 和可容纳

让我首先说我已经尝试尽可能多地阅读 CakePHP 书籍以了解这个特定主题,但无论出于何种原因,我都无法理解这一点。

我有几个模型:

  • 每个人可以有很多工作
  • 每个工作都有一个分支,每个分支都属于一个城市。

起初我依赖递归,但它的可定制性不够(显然)确实得到了我想要的数据。

https://github.com/jwg2s/temp

我要么在我的输出数组中得到太多数据,要么几乎没有。 .

谢谢