问题标签 [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.
cakephp - 包含显示更深层次的数据或连接表
我有 3 个表:projects、project_reminder_users、project_types。
我根据谁分配(ProjectReminderUser)获取所有数据
结果看起来像这样
结果中有 Project.project_type_id 的数据,但我想了解更多详细信息。所以我可以将其显示为名称而不是数字。也许像 ProjectType.name 一样。我怎样才能做到这一点,所以我可以在视图中对其进行排序?像这样的东西
php - 尝试用 Containable 替换 CakePHP 模型绑定不起作用
我正在尝试获取所有访问者的列表,其中仅包含最新的访问信息和 API 调用的相关访问类型描述,我需要能够在一次查找中做到这一点。以前我们有下面的第二个代码块,但是当访问者有多个关联的访问记录(每个访问记录一个)时,这会返回访问者的多条记录。我只需要获取最新的(MAX(Visit.visit_date)
但如果我们打算加入反对显然不能使用VisitType
它)与它相关联VisitType.type_description
。
beforeFind() 函数在访问者模型上,因为我们试图获取访问者列表。
当我尝试使用下面的可包含代码时,我遇到了以下问题:
我建立了这些协会:
- 访问者有很多访问,一次访问有一个访问者
- 访客有一个站点,一个站点有许多访客
- 访客状态有很多访客,访客属于访客状态
- 访问 hasOne VisitKind, VisitKind hasMany Visits
失败的可包含代码:
以前,以下代码“有效”具有不良副作用,即每个访问者包含多行,每次访问一行:
我正在尝试的 Containable 结构有问题吗?
我已经配置 Debug = 2,CakePHP 版本 2.2.5
cakephp - cakephp分页器极慢
我有一个 cakephp 应用程序 2.4,但 Paginator 组件有问题。首先,它不是数据库,它肯定是解析查询结果的执行。我安装了 DebugKit,可以看到我对分页数据的 mysql 查询需要整整 2 毫秒。该表有 250 万条消息记录和 500,000 个用户。显然,适当的索引已经到位。但是,控制器动作需要 6167.82 毫秒。所以,这是我的控制器操作:
我已经谷歌了这个并搜索了堆栈溢出。大多数响应是针对糟糕的 mysql 优化,这不是我的情况。另一半的回答表明可以控制。所以,我尝试了可包含的。使用 contains 实际上更慢,因为它试图从用户字段中获取更多数据,而不仅仅是用户名、照片和 ID。然后,当 cake 从查询结果构建数组时,由于我假设有额外的用户数据,它在可包含的情况下执行速度慢了近 500 毫秒。
我现在要深入研究 Cake Paginator 组件,看看为什么构建响应需要这么长时间。我希望有人能打败我,并有一个很好的解决方案来帮助加快速度。
我的 Web 服务器正在运行 ubuntu 12.04,带有 3gb ram、apache 和 mod_php,安装了 apc 并为模型和核心缓存工作。数据库位于单独的服务器上。我还有一个 redis 服务器保存其他用户数据和蛋糕会话数据。这里有足够的能力从包含大约十二行的 mysql 查询中解析 10 条记录。
编辑:答案
正如 Ilie Pandia 首先建议的那样,发生了其他事情,例如回调,这正在减慢分页速度。这实际上与分页组件无关。Recipient 模型的行为在 3rd 方服务的设置回调中加载了 sdk。该服务需要几秒钟才能响应。这发生在加载查询中的linkedModel 以过滤结果时。希望其他寻找 cake 可能表现不佳的原因的人也会查看应用程序和插件中模型的回调。
cakephp - 当 key 是 $slug 时如何使用 cakePHP 的可包含
我有一个包含许多照片的画廊模型,在我的画廊视图中,我通过 $slug 找到了画廊。我正在显示属于特定 gallery_id 的所有照片。这按预期工作。
但是,我想在查询中添加一个条件,仅在 photo.active => 'yes' 时返回照片。
我发现,因为画廊视图是由 $slug 找到的,所以我过滤照片的尝试不起作用。在照片模型中,我保存了 gallery_id 而不是 gallery.slug。
我尝试在画廊控制器中使用可包含但在使用此控制器查找时出现以下错误:
我在视图中看到的错误:
在照片模型中添加gallery.slug 列是查询有条件的照片的最佳方式吗?
另外,为什么在画廊控制器中使用可包含时会出现错误?
干杯,保罗
cakephp - Cakephp Containable 根本不工作
我一直在把头撞在墙上。我有一个属于模型购买的模型 Sku。我的 AppModel 有$actAs=array('Containable') and $recursive=-1
在 SkuController 中,当我这样做时,$this->Sku->find('all', array('contain' => 'Purchase'));
我没有得到购买。我在这里和互联网上的其他地方搜索了许多旧问题,但似乎无法解决这个问题。为了检查是否正在加载 Containable 行为,我在 lib\Cake\Model\Behavior 中编辑了 ContainableBehavior.php 以使其成为无效的 php 文件,但这并没有产生任何错误。到底怎么回事!!
这是来自调试的 SQL:
选择
Sku
。id
,Sku
.purchase_id
,Sku
.item_id
,Sku
.upc
,Sku
.quantity_avail
,Sku
.per_unit_price_amt
,Sku
.do_not_delete
,Sku
.created
,Sku
.modified
, (concat('SK',lpad(Sku
.id
,8,'0')))Sku__idFormatted
从sellble
.skus
ASSku
WHERE 1 = 1 ORDER BYSku
。id
描述
CakePHP 版本:2.4.4
cakephp - CakePHP 2.4.4 如何用 Containable 构造这个 find()?
表
关系
关系设置正确(并且双向,hasMany/belongsTo)。
目标
对于指定的用户 ID,在用户模型中有一个 find(),我只想要以下字段,如下所示:
甚至可以检索这样排列的结果吗?我一直在玩 Find and Containable 几个小时,但是,第一次尝试用 Cake 做这样复杂的事情,我无法掌握它的窍门。
谢谢!
编辑
我现在得到了这些结果,这是我所需要的,但与上面所需的格式相去甚远——它可以作为查找的一部分完成,还是需要在之后进行排序?
php - Show the user's username in post view w/ related comment
I am a newbie in CakePHP 1.3... I want to display or show the USER's username instead of USER's id, who post the COMMENTS in the POST view... Anyone can help me please?
Here is the model association I made:
- POSTS 'has many' COMMENTS
- COMMENTS 'belongs to' USERS
POST->COMMENT->USER
I already read the Containable Behavior of CakePHP 1.3, but still I can't understand it well... Please help me what codes to put in the post_controller's view & view.ctp that can show the related's related table in the POST view.
And How to call the USER's data in the POST view.
I'm still confused.
Thanks in Advance, Azure
cakephp - Cakephp 模型不关联..Containable 不能在实时服务器中工作
该项目适用于我的本地和开发服务器。但是上传到直播服务器时,似乎抛出Model xxx is not associated with model ccc。这些关联在本地和实时服务器中都运行良好。甚至我们将文件两次上传到实时服务器并检查了命名约定。我们无法追踪问题。有人可以帮忙吗?请告诉我
cakephp - CakePHP:不能将 modParams 与不存在的索引一起使用
我正在编写一个数据源来访问外部 Web 服务,这按预期工作正常,但是在 Web 服务运行后,我收到以下错误:
经过一番谷歌搜索,我发现了这个类似的问题:
不幸的是,这并没有帮助我解决我的答案。
我知道错误是希望我删除(或添加额外的)参数,但我不明白我在哪里设置这些参数来编辑它们。
cakephp - CakePHP 不包含包含模型为空的记录
所以我当前的分页设置如下所示:
我想要实现的是,当包含的Model2
恰好为空时(没有Model2
类型'Sometype'
),那么(和的父级)的这条记录不Model0
应该包含在返回的数组中。Model1
Model2
$this->paginate('Model0');
这怎么可能实现?