CakePHP 2.9 将 CSV 字符串转换为 HABTM 数据

Posted

技术标签:

【中文标题】CakePHP 2.9 将 CSV 字符串转换为 HABTM 数据【英文标题】:CakePHP 2.9 converting CSV string to HABTM data 【发布时间】:2017-05-15 13:13:38 【问题描述】:

我正在尝试转换一个包含以下标题为“帖子”的数据集的大型数据库(约 3m 行):

+-------|---------------|-----------------------+ | id | name | tags | |-------|---------------------------------------| | 1 | post title | tag_a, tag_b | | 2 | another title | tag_b, tag_e, tag_j | +-------|---------------|-----------------------+

我还有一个带有 id、title 标题的空“tags”表和一个带有标题的“posts_tags”表>id、post_id、tag_id

发布 标签


我的问题:

我想知道填充“tags”表和“posts_tags”habtm 表同时保持标签表不重复的最有效(首选但不是必需的蛋糕方式)?

非常感谢 SO 团队!

【问题讨论】:

请始终提及您的确切 Cakephp 版本(vendor/cakephp/cakephp/VERSION.txt 或 lib/Cake/VERSION.txt 中的最后一行) @RayannNayran 感谢您的提醒 - 添加了版本 为什么你首先需要以“蛋糕方式”(无论这意味着什么)?这甚至可以纯粹在 SQL 级别上完成。 @ndm 严格来说,它不一定是蛋糕的方式,但到目前为止它并没有让我失望。但是,如果提供纯 sql 答案,我认为没有害处。 【参考方案1】:

我现在没时间写代码。

您可以获得所有帖子(我建议您对结果进行分页),并且对于每个帖子,您可以获得其标签并用逗号展开。

然后使用标签和当前帖子创建HABTM array data,最后保存数据。

【讨论】:

以上是关于CakePHP 2.9 将 CSV 字符串转换为 HABTM 数据的主要内容,如果未能解决你的问题,请参考以下文章

如何拦截CakePHP 3中的检索字段?

将 numpy 数组转换为 CSV 字符串,将 CSV 字符串转换回 numpy 数组

如何在读取 CSV 文件时将字符串值转换为整数值?

csv转换obj

将 d3.csv 方法转换为 d3.csv.parse 方法

如何将 csv 字符串转换为 pandas 中的列表?