问题标签 [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 投票
2 回答
515 浏览

cakephp - 在 CakePHP 中排除 hasMany 模型

这是我的基本设置... 家庭 hasMany Students hasMany Enrollment

如果注册为空,有没有办法排除学生?这是我的查找方法。

这是它返回的数组。如何删除杰克?

0 投票
1 回答
680 浏览

cakephp - CakePHP Containable:深度关联中的相同模型

我为此搜索了很多,但我什至不知道该怎么称呼它。

在简化版本中,我有这些模型:

  • Person(id, name) - hasMany:ArrivalDate
  • Country(id, name) - hasMany:Person
  • ArrivalDate(id,arrival_date,salesman_id) - belongsTo: Person, Salesman(className => Person)

正如你所看到的,我试图让有到达日期的人和销售人员在一张桌子上。

检索数据后,我使用可包含行为来仅获取我想要的模型。

但问题是:我如何“包含”Salesman这个?

Salesman只是一个别名,Person如果我包含Person模型,我只会得到父数据。如果我尝试包含别名 ( Salesman),则会收到错误消息。

0 投票
0 回答
278 浏览

cakephp - CakePHP 可包含 Fat 模型、Skinny 控制器

我正在尝试在 CakePHP 中使用 Containable 的一个相当奇怪的场景。

  • 组 hasAndBelongsToMany 用户
  • 组属于用户
  • 用户 hasAndBelongsToMany 组

我不确定,但要么我的查询有问题,要么我认为 Containable 可能很难自动确定我在我的条件下试图引用哪个“用户”。(一个部门有一个部门主管,因此该组属于用户。一个部门也有HABTM员工,反之亦然,因此有两个HABTM链接。)

从用户控制器(对于视图),我试图获取用户所属的部门(组),并且只获取部门。

在用户模型中:

这给了我一个包含我需要的所有信息的数据数组。但是,由于我想保持控制器瘦身和模型胖,我想消除我得到的返回值 - 其中用户在数据中返回。

返回的数据:

我尝试在 Groups 模型中访问一个类似命名的方法,但没有任何运气:

这将从返回的数据中删除 User 数组,但无论连接表 (groups_users) 是否匹配,它都会返回每个部门(组),并且只返回一个空的用户数组及其返回的数据。

我知道我可以简单地从我的用户模型的方法中使用这些数据并使用 Set 类来删除我不想要的东西,但这相当低效。必须有一种方法可以让 Group 模型正确地查询我正在寻找的内容,对吧?

-- 编辑/更新 -- 我已经取得了一些进展,但在这样做的过程中还有其他一些好处。

我现在findDepartment从 Group 模型中调用:

这让我更接近我想要得到的数据:

不幸的是,我在belongsTo这里失去了关联的用户关系。我试过在数组中添加一个辅助LEFT连接,但它似乎没有用。我不确定如何为 HABTM 创建它的连接来创建这样的结果......joinsUserContainable

0 投票
1 回答
4915 浏览

php - CakePHP:如果我在 find 中结合了“字段”和“包含”,我不会得到想要的结果。谁能解释为什么?

我有以下情况:作品有一个属于 ImageGroup 的图像。

如果我这样做:

我会得到这个:

)

但是,如果我试图通过以下方式减少工作领域:

我突然不再在 PreviewImage 中获得 ImageGroup,请参见此处:

)

我不明白为什么,你知道吗?

0 投票
1 回答
949 浏览

php - cakephp 动态虚拟字段或可包含的应用 beforeFind 回调

我目前正在附加一个虚拟字段,beforeFind()因为我需要将当前用户的 id 插入到查询中。在相关模型上调用 find 并包含此模型包括静态定义的虚拟字段,但不包括beforeFind().. 中的虚拟字段。直接在模型上调用 find 包括动态附加的虚拟字段。

这是我的 beforeFind 回调:

由于cost_for_user在 beforeFind 中是动态附加的,因此我无法在运行时使用cookbook中建议的方法复制虚拟字段。是否有更好的回调来动态附加虚拟字段,以便包含在包含结果中?

0 投票
1 回答
122 浏览

cakephp - Use of containble behaviour in cakephp?

I am having three tables category, subcategory and subsubcategory. Now category table contain fields as id,name subcategory table contain fields as id, category_id and name and subsubcategory table contain fields as id, subcategory_id and name

now subsubcategory view/index showing columns as name,subcategory_name but i want to display category_name also in my subsubcategory index page

I have used containable behaviour to associate two tables as category and subsubcategory

Here is my code:--

subsubcategoriescontroller:

appmodel:

public $actsAs = array("Containable"); still my subsubcategory page not showing expected results. what will i do?

0 投票
1 回答
1860 浏览

cakephp - 在使用可包含行为获取的视图/索引中显示数据?

我在我的代码中使用了可包含的行为,它也可以工作。当我编写 print_r 时,它按预期向我显示了一个数组,但问题是我如何在视图/索引页面中显示该数据

这是我的代码

这是我的子类别视图/索引页面

但它给了我错误

注意(8):未定义索引:子类别[APP/View/Categories/index.ctp,第39行]

有人可以帮忙吗?

我给这样的数组

0 投票
1 回答
1442 浏览

cakephp - cakephp 中的缺失行为

我需要你的帮助我正在本地主机中使用 CakePHP 开发一个网站,但是当我尝试上传到服务器时出现此错误 Missing Behavior

0 投票
1 回答
137 浏览

php - Cakephp2 包含更深的关联

我需要对一个表进行分页,我只需要查看分配给我的项目,我该如何实现?

我有的是这个

但似乎包含根本不起作用。调试的结果是这样的

所以我想要实现的是让分页只显示数组索引 1,因为 ProjectReminderUser 有 user_id = 1 (分配给我的项目)

类似的东西。我尝试使用可包含但它不起作用,也许我这样做的方式有问题?

0 投票
1 回答
40 浏览

cakephp - 使用可包含时未按条件过滤 HABTM 相关记录

模型 1 HABTM 模型 2。在 Model1 的模型类中,我有以下代码:

结果有每个相关的 Model2 记录。如果该记录的名称是“foo”,它应该只返回 Model2 记录。没有错误,条件只是从未添加到 SQL 中。

Containable 在 AppModel 的actsAs属性中声明。

是什么赋予了?